Jquery append <select> funktioniert nicht im IE7, aber funktioniert in firefox
Ich bekomme Daten aus einer Datenbank mittels AJAX und das Anhängen der tags an eine select-Anweisung. Der folgende code funktioniert in firefox, aber nur teilweise im IE. Das problem im IE ist, schafft die option-Elemente in der dropdown-Liste auswählen, aber der "text" - Attribut mit dem Wert leer ist (die dropdown erscheint mit 30 leeren Zeilen! Aber die "value" - Attribut-Wert wird korrekt gesetzt (was hte Primärschlüssel aus meiner Datenbank). Gibt es ein anderes Feld, das ich brauche, um in DH andere als "text"? Den Fett gedruckten text in der code unten ist, wo ich denke das problem liegt. BTW ist der Wert nicht leer ist, und ich habe versucht, indem in einem string-literal an seinem Platz und es ist noch leer im IE.
Der code ist:
$.each(data, function(key,value){
$("<option>").attr("value", key).attr("text",value).appendTo("#select1");
});
InformationsquelleAutor Dan | 2009-04-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde versuchen, Sie zu nutzen .text() statt:
Ich denke, das ist, was Sie für gehen?
Denken Sie auch daran, dass .text() automatisch entweicht jede HTML-legen Sie innerhalb, dh .text("<em>foo</em>") wird als "<em>foo</em>". Wenn Sie wollen HTML einbinden, verwenden .html().
InformationsquelleAutor cgp
Können versuchen, wieder mit block-Zitate:
Sollte die Lösung sein:
"Optionen" umgeben sein muss mit <>
InformationsquelleAutor
altCognito ist richtig... jedoch, wenn Sie die Schleife durch ganze zahlen, werden Sie sicher, dass Sie
Schlüssel/Wert.toString() - während die jQuery nicht werfen Fehler und werden es behandeln, es wird kein zusätzlicher overhead.
es ist alles über Leistung, Recht? 🙂
InformationsquelleAutor Paul Shaver
Ich glaube nicht, dass die gepostete Lösung richtig ist. Ich glaube, es sollte sein:
nicht
Den <>'s wurde gelöscht irgendwie.
InformationsquelleAutor