Ich möchte den gleichen Effekt erzielen wie, jQuery.serialize()
aber ich möchte nur die Kinderelemente eines bestimmten zurückgeben div
.
Beispielergebnis:
single=Single2&multiple=Multiple&radio=radio1
jquery
serialization
BrokeMyLegBiking
quelle
quelle
$("#divId").find("select, textarea, input").serialize();
eine bessere Leistung erzielen? Ich stelle mir vor, dass das oben Genannte langsam werden könnte, wenn das div viele Elemente hätte, wie eine Tabelle mit mehreren Zeilen / Spalten.Sie können die Geschwindigkeit Ihres Codes verbessern, wenn Sie die Elemente einschränken, die von jQuery angezeigt werden.
Verwenden Sie den Selektor : Eingabe anstelle von * , um dies zu erreichen.
Dadurch wird Ihr Code schneller, da die Liste der Elemente kürzer ist.
quelle
serialize
alle Formelemente innerhalb einesdiv
.Sie können dies tun, indem Sie auf das Div
#target-div-id
in Ihrerform
Verwendung zielen :quelle
Die Funktion, die ich derzeit benutze:
quelle
Versuchen Sie auch dies:
quelle
Was ist mit meiner Lösung:
Code-Snippet anzeigen
quelle
Wenn diese Elemente einen gemeinsamen Klassennamen haben, kann man auch diesen verwenden:
Auf diese Weise können Sie die Auswahl von Schaltflächen vermeiden, die mit dem jQuery-Selektor ausgewählt werden
:input
. Dies kann jedoch auch durch Verwendung vermieden werden$('#your_div :input:not(:button)').serialize();
quelle
quelle
ID
in jedem Selektor Folgendes angeben :$('#divId > input, #divId > select, #divId > textarea')
; Auch das>
Symbol , auf das es sich bezieht, bezieht sich auf direkte untergeordnete Elemente ... Sehr ungewöhnlich in diesem Szenario oder zumindest sehr restriktiv.