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?

Foi útil?

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();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top