J'ai une liste dynamique d'éléments qui seront utilisés pour envoyer des informations au backend en utilisant AJAX.Extraire des informations de la liste dynamique pour les publier avec jQuery?
<a href="...">Item 1</a>
<a href="...">Item 2</a>
<a href="...">.....</a>
<a href="...">Item n</a>
J'ai décidé d'inclure une classe css et une entrée cachée sur chaque élément afin que je puisse facilement affecter le gestionnaire (en utilisant la classe css) et pour que je puisse connaître l'ID de l'élément (en utilisant le champ caché).
<a href="..." class="recorditem"><input type="hidden" value="1" name="ItemID"/>Item 1</a>
<a href="..." class="recorditem"><input type="hidden" value="2" name="ItemID"/>Item 2</a>
...
<a href="..." class="recorditem"><input type="hidden" value="n" name="ItemID"/>Item n</a>
Puis, avec jQuery, je vais intercepter le clic sur le lien (qui passerait à une page pour les utilisateurs non-javascript) pour faire un POST. Donc, il ressemblera à quelque chose comme ceci:
$("a.recorditem").click(function(){
//get the item ID
var itemID = $(this + " :input[name='ItemID']").val(); <-- PROBLEM
//build a form dynamically - omitted for readability
var formToAdd = "<input type='text'.... "
//etc etc...
});
Sauf, je ne peux pas pour la vie de me comprendre comment extraire la valeur du champ d'entrée cachée du lien dans.
Que fais-je incorrectement? Mieux encore, est-ce une façon intelligente de le faire pour une liste dynamique?
Il fonctionne. Moi non plus, je ne suis pas sûr que ce soit valable dans une ancre. (Je suis en train d'écrire quelques tests grossiers dans le bloc-notes). Y at-il une meilleure façon de gérer cette situation, comme dans, où puis-je placer l'ID de l'élément dont j'ai besoin? – MunkiPhD
vous pouvez utiliser un attribut de données html5 sur l'ancre elle-même – redsquare
voir http://ejohn.org/blog/html-5-data-attributes/ pour plus d'informations – redsquare