JQuery append wählen Sie mit einem array
sehr einfach, aber ratet mal, was nicht für mich. Ich habe eine Komma-separierte Liste wie diese: Option1,Option2,Option3, möchte ich anfügen an ein <select>
so wird es <select><option>Option1</option><option>Option2</option><option>Option3</option></select>
Kann ich die "split" wird die Liste wie diese (innerhalb einer Funktion, wird der Liste):
var optionsarray = $(this).val().split(',');
$(optionsarray).each(function(i){
var seloption = '<option value="'+optionsarray[i]+'">'+optionsarray[i]+'</option>';
});
Aber jetzt, wie ich anfügen seloption
zu meiner select-Liste. Wenn ich
$('#selecttoappendto').append('<option value="'+optionsarray[i]+'">'+optionsarray[i]+'</option>');
oder
$('#selecttoappendto').append(seloption);
innerhalb der each-Schleife passiert nichts. Nehmen Sie es außerhalb des einzelnen kann ich anfügen sagen optionsarray[0]
oder optionsarray[1]
etc. aber ich kann nicht Anhängen optionsarray[i]
denen immer wie ich es tun (innerhalb oder außerhalb der). Bitte helfen - vielen Dank im Voraus
InformationsquelleAutor Russell Parrott | 2011-02-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beginnend mit einem leeren string Sie können eine Zeichenfolge in der Schleife usingt
+=
. Dann.append()
den string.oder eine andere option wäre der Aufbau der Elemente separat speichern Sie in einem container, dann fügen Sie diese aus dem Behälter.
Feste fehlenden
()
nachchildren
.Ja genau, müssen Sie es initialisieren mit leerem string, bevor Sie
+=
.InformationsquelleAutor user113716
Hier ist, was ich schrieb und zu verwenden; es ist ein wenig schneller als die Lösung user113716 gab, weil man auslassen erstellen der temp auswählen, werden alle jene an, die temp wählen (auch wenn es ein DOM-fragment, dauert es noch einige Zeit), und Sie sind auch überspringen .(Kinder) finden und Auspacken am Ende für das Finale anfügen.
Also:
Ich tatsächlich schrieb die plugins für genau diese; auf diese Weise tun, ich Baue einen 1500+ option wählen Sie in unter 250 ms. 😀
$yourSelect.appendAll($options);
InformationsquelleAutor BrianFreud