jquery-Inkrement-Nummer mit .jeder()
wie kann ich increment-id mit .each () - Funktion.
$("input:checked").each(function(){
var counter = $(this).length();
var id_bookslot = data; //<-- increment id +1
var treatment_type = $(this).closest("div").attr("id");
var id_treatment = $(this).attr("class");
$.post("include/get_booking.php?insert", {id_bookslot: id_bookslot,id_treatment:id_treatment,treatment_type:treatment_type});
});
sagen wir, es sind 3 Checkboxen aktiviert sind! also die id Inkrementieren bis 3(1,2,3).
ich vergaß zu erwähnen, var id_bookslot = Daten. data
was ist eine id, die ich abrufen aus der Datenbank. lassen Sie uns sagen, es beginnt mit 1234. und jedesmal, wenn .each() zu generieren, wird es um 1 erhöht. 1234, 1235, 1236
Die "Zähler" - Wert immer 1, da
In der Tat. (Aber er nicht verwenden, die variable so ist es wahrscheinlich egal.)
Ja, ich war nur der Feststellung, es als, nun ja, ein Hinweis 🙂
Man könnte sagen, er wies etwas komisch. Ha Ha
Megalols
this
innen ".each ()" - Funktion wird immer eine einzelne DOM element.In der Tat. (Aber er nicht verwenden, die variable so ist es wahrscheinlich egal.)
Ja, ich war nur der Feststellung, es als, nun ja, ein Hinweis 🙂
Man könnte sagen, er wies etwas komisch. Ha Ha
Megalols
InformationsquelleAutor tonoslfx | 2011-04-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Ihr Ziel ist es, eine
post
für jeder Kontrollkästchen, und geben Sie einen index oder smoething,gibt einen index, den Sie verwenden können (vermeiden Sie auch das schreiben
$(this)
wiederholt, es ist verschwenderisch):Beachten Sie auch, dass
$(this).length
immer1
, aber Sie waren nicht mit Ihremcounter
variable sowieso, also habe ich Sie einfach entfernt. Wenn Sie es aber gerade nicht zitieren, code, dies zu tun:...und verwenden Sie
checked.length
für Ihrecounter
variable.var id_bookslot = data
.data
was ist eine id, die ich abrufen aus der Datenbank. lassen Sie uns sagen, es beginnt mit1234
. und jedesmal, wenn .each() zu generieren, wird es um 1 erhöht. 1234, 1235, 1236Wenn das wirklich eine index-id, dann kann es besser sein, die behandelt werden, die das php-Skript als eine client-side-Lösung. Sie bekommen konnte concurrency-Probleme mit mehreren Instanzen der web-Seite offen.
Aktualisiert
data
, und daindex
startet am0
ich hinzufügen, um es als gut. Beachten Sie auch, was @MacAnthony sagt, obwohl, eindeutige IDs, die sind am besten ausgeteilt von den Daten zu speichern, nicht auf dem client-browser. 🙂InformationsquelleAutor T.J. Crowder
Den jeder() Methode können Sie verwenden Sie den index des Elements. Das ist wahrscheinlich der beste Weg, dies zu erreichen.
Fügte ich hinzu +1, da der index 0-index, und Sie scheinen zu wollen, um es zu starten 1.
Danke, gar nicht gemerkt, was Sie Taten, mit counter da es sich nicht um einen Teil der unmittelbaren Problem.
InformationsquelleAutor MacAnthony
Müssten Sie verschieben Sie die variable außerhalb der Verschluss:
Dies ist zwar Arbeit, es scheint immer ein bisschen hack-y zu mir. Möchten Sie vielleicht denken über einen anderen Reiniger, der Weg Ihr Ziel zu erreichen (wie mit einer herkömmlichen for-Schleife, so haben Sie den aktuellen index zur Verfügung Sie).
var id_bookslot =data, id_bookslot++ or ++id_bookslot'.
Daten " ist eine id aus der Datenbank. sagt1234
dann um 1 erhöht. scheint aber den oben genannten code, stattdessen legen Sie1234
es einfügen1235
InformationsquelleAutor Justin Niessner
Verwenden, die Schließung:
Beachten Sie, dass ich entfernt Ihre
count
variable, die war immer 1 ($(this)
innerhalb der callback-wird das einzelne element in der iteration) und wurde nie benutzt.InformationsquelleAutor Lightness Races in Orbit