Domanda

Ho una lista dinamica di elementi che verranno utilizzati per pubblicare informazioni al backend utilizzando AJAX.

<a href="...">Item 1</a>
<a href="...">Item 2</a>
<a href="...">.....</a>
<a href="...">Item n</a>

Ho deciso di includere una classe CSS e un ingresso nascosto su ogni elemento in modo che possa facilmente assegnare il gestore (utilizzando la classe CSS) e in modo che possa conoscere l'ID della voce (utilizzando il campo nascosto) .

<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>

Poi, con jQuery, io intercettare il click sul collegamento (che andrebbe ad una pagina per gli utenti non-JavaScript) di fare un post. Così sarà simile a questa:

 $("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...
    });

A parte, non posso per la vita di me capire come estrarre il valore del campo di input nascosto dal link all'interno.

Che cosa sto facendo in modo errato? Meglio ancora, è questo anche un modo intelligente per fare questo per un elenco dinamico?

È stato utile?

Soluzione

Non sono sicuro se un ingresso nascosto è valido in un ancoraggio (W3C) ... mai provato.

funziona il follwoing

var itemID = $(this).children().eq(0).val();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top