Extraire des informations de liste dynamique pour ajouter un commentaire avec jQuery?
-
21-09-2019 - |
Question
J'ai une liste dynamique des éléments qui seront utilisés pour publier des informations à l'arrière-plan en utilisant AJAX.
<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>
Alors 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.
Qu'est-ce que je fais mal? Mieux encore, est-ce même une façon intelligente de le faire pour une liste dynamique?
La solution
Je ne sais pas si une entrée cachée est valable dans un point d'ancrage (W3c) ... jamais essayé.
Est-ce que le travail follwoing
var itemID = $(this).children().eq(0).val();