jQuery - $.jede Schleife durch Variablen-Objekt
Arbeite ich mit einem JSON Datensatz, auf dem mehrere high-level-Objekte. Wenn ich buchstäblich deklarieren Sie die Objekt-Namen, kann ich in einer Schleife durch die JSON-ohne Probleme, aber wenn ich eine variable verwenden an seiner Stelle, bekomme ich Fehler. Es scheint, dass es versucht, den Variablennamen als literalen Namen des Objektes. Hier ist ein schnelles Beispiel
function(data){
var select = $('#lists select');
var activeList = $(select+':selected').val();
$.each(data.activeList, function(i,item){
//Do stuff
});
}
Wie bekomme ich es, um den Wert der activeList in diesem Fall? Klar, die variable activeList korrekt zurückgegeben wird der Wert der ausgewählten option. Wenn der Wert des activeList ist "Christmas_List", Durchschleifen von Daten.activeList sollte eine Schleife durch die Christmas_List Objekt im JSON-Daten. Das funktioniert nicht, es wird angezeigt, dass die Daten.activeList ist auf der Suche nach der "activeList" - Objekt. Wenn ich versuche einen Literalwert in activeList s place (Christmas_List), wird die Schleife ordnungsgemäß funktioniert.
Irgendwelche Ideen? Dank
- 2 Probleme: wo ist
select
immer definiert? Auch, was ist der Rückgabewert vonval()
dass Sie denken, Sie können Durchlaufen mit.each
? - Welche Art von Fehler(N) sind Sie immer auf???
- wählen Sie nur eine variable zeigt auf ein select-dropdown. Sorry, habe ich nicht klären. activeList erfolgreich zurückgegeben wird der ausgewählte Wert des dropdown-Menü. Ich habe den relevanten code mit der Frage. Ich bin immer der Fehler "G ist nicht definiert", und er wies auf die jquery-Bibliothek. Das ist die Fehlermeldung die ich bekomme, wenn ich versuche, eine Schleife über ein Objekt, das existiert nicht in der JSON-Daten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meinst du, Sie haben die situation etwas wie dies?
In dem Fall, dass Sie möchten, um auf das Objekt zugreifen, indem Sie-Taste....
anstatt direkt
Ich bin mir nicht ganz sicher, was Sie versuchen, hier zu tun, aber dein Beispiel-code sieht umständlich, und so vielleicht etwas wie dies ist, was Sie suchen, als eine Antwort:
Dieser würde eine Liste erstellen von :ausgewählte Werte. Wenn nicht, bitte klären Sie die Frage stellen.
$().val() gibt den ersten Wert zu finden, wenn Sie wollen, dass es wie ein array, müssen Sie eine Schleife durch die ausgewählten Eingänge selbst