Extraindo informações de lista dinâmica para postar com jQuery?
-
21-09-2019 - |
Pergunta
Eu tenho uma lista dinâmica de itens que serão usados para POST informações no backend usando AJAX.
<a href="...">Item 1</a>
<a href="...">Item 2</a>
<a href="...">.....</a>
<a href="...">Item n</a>
Decidi incluir uma classe css e uma entrada oculta em cada item para que eu possa atribuir facilmente o manipulador (usando a classe css) e para poder saber o ID do item (usando o campo oculto).
<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>
Depois com jQuery, vou interceptar o clique no link (que levaria para uma página para usuários não-javascript) para fazer um POST.Então será algo assim:
$("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...
});
Exceto que não consigo descobrir como extrair o valor do campo de entrada oculto do link interno.
O que estou fazendo incorretamente? Melhor ainda, essa é uma maneira inteligente de fazer isso em uma lista dinâmica?
Solução
Não tenho certeza se uma entrada oculta é válida em uma âncora (W3c)...nunca tentei.
O seguinte funciona
var itemID = $(this).children().eq(0).val();