Informationen aus einer dynamischen Liste extrahieren, um sie mit jQuery zu veröffentlichen?

StackOverflow https://stackoverflow.com/questions/1369819

  •  21-09-2019
  •  | 
  •  

Frage

Ich habe eine dynamische Liste von Elementen, die verwendet werden, um Informationen mithilfe von AJAX an das Backend zu posten.

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

Ich habe beschlossen, für jedes Element eine CSS-Klasse und eine versteckte Eingabe hinzuzufügen, damit ich den Handler einfach zuweisen kann (mithilfe der CSS-Klasse) und damit ich die ID des Elements kennen kann (mithilfe des versteckten Felds).

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

Dann werde ich mit jQuery den Klick auf den Link abfangen (der zu einer Seite für Nicht-Javascript-Benutzer führen würde), um einen POST zu verfassen.Es wird also ungefähr so ​​aussehen:

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

Außer, dass ich beim besten Willen nicht herausfinden kann, wie ich den Wert des versteckten Eingabefelds aus dem darin enthaltenen Link extrahieren kann.

Was mache ich falsch? Besser noch: Ist dies überhaupt eine clevere Möglichkeit, dies für eine dynamische Liste zu tun?

War es hilfreich?

Lösung

Ich bin mir nicht sicher, ob eine versteckte Eingabe in einem Anker (W3c) gültig ist ... habe es nie versucht.

Funktioniert Folgendes

var itemID = $(this).children().eq(0).val();
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top