Was ist der einfachste Weg, option
mit jQuery ein Dropdown-Menü hinzuzufügen ?
Ob das funktioniert?
$("#mySelect").append('<option value=1>My option</option>');
javascript
jquery
Klicken Sie auf Upvote
quelle
quelle
$("#mySelect").html(....)
, um die aktuellen Optionen durch die neuen zu ersetzen.Antworten:
Dies funktionierte NICHT in IE8 (noch in FF):
Diese DID Arbeit:
quelle
display: table;
wird nicht als Stil auf das select-Element angelegt. Dies wird den js-Code brechenvar o = new Option('option text', 'value'); o.innerHTML = 'option text'; document.getElementById('selectList').appendChild(o);
Persönlich bevorzuge ich diese Syntax zum Anhängen von Optionen:
Wenn Sie Optionen aus einer Sammlung von Elementen hinzufügen, können Sie Folgendes tun:
quelle
items={option1:{value:1,text:1},option2:{value:2,text:2}}
Sie können Optionen mithilfe der folgenden Syntax hinzufügen. Weitere Informationen finden Sie unter Optionen für die Behandlung in jQuery .
quelle
value
anstelle vonval
). Der richtige Code sollte sein$('select').append('<option value="1">One</option>');
Wenn der Name oder Wert der Option dynamisch ist, müssen Sie sich keine Gedanken darüber machen, ob Sonderzeichen darin enthalten sind. In diesem Fall bevorzugen Sie möglicherweise einfache DOM-Methoden:
quelle
Option 1-
Sie können dies versuchen-
So was-
Option 2-
Oder versuchen Sie dies-
So was-
quelle
Das ist sehr einfach:
oder
quelle
Das funktioniert gut.
Wenn Sie mehr als ein Optionselement hinzufügen, würde ich empfehlen, das Anhängen einmal auszuführen, anstatt für jedes Element ein Anhängen durchzuführen.
quelle
aus welchem Grund auch immer
$("#myselect").append(new Option("text", "text"));
funktioniert das nicht für mich in IE7 +Ich musste benutzen
$("#myselect").html("<option value='text'>text</option>");
quelle
Um die Leistung zu verbessern, sollten Sie versuchen, das DOM nur einmal zu ändern, insbesondere wenn Sie viele Optionen hinzufügen.
quelle
string.join()
quelle
selectmenu()
ist nicht Teil des jQuery-Kerns und ein jQueryUI- Widget . Das macht es zu einer ziemlich hartnäckigen Lösung, oder?Ich verwende gerne den Non-Query-Ansatz:
quelle
Sie können Optionen dynamisch zur Dropdown-Liste hinzufügen, wie im folgenden Beispiel gezeigt. Hier in diesem Beispiel habe ich Array-Daten genommen und diese Array-Werte an das Dropdown-Menü gebunden, wie im Ausgabe-Screenshot gezeigt
Ausgabe:
quelle
In keiner Antwort erwähnt, aber nützlich ist der Fall, in dem diese Option ebenfalls ausgewählt werden soll. Sie können Folgendes hinzufügen:
quelle
quelle
Es gibt zwei Möglichkeiten. Sie können eine dieser beiden verwenden.
Zuerst:
Zweite:
quelle
Wenn Sie die neue Option an einem bestimmten Index in die Auswahl einfügen möchten:
Dadurch wird das "Neue Element" als drittes Element in die Auswahl eingefügt.
quelle
Sie können das Value-Attribut mit Text anhängen und festlegen:
quelle
Wir haben ein Problem festgestellt, wenn Sie die Option anhängen und jquery validate verwenden. Sie müssen auf ein Element in der Liste "Mehrere auswählen" klicken. Sie werden diesen Code hinzufügen, um Folgendes zu verarbeiten:
quelle
quelle
Dies ist nur ein kurzer Punkt für die beste Leistung
Wenn Sie mit vielen Optionen zu tun haben, erstellen Sie immer eine große Zeichenfolge und fügen Sie sie dann zur Auswahl hinzu, um die beste Leistung zu erzielen
fg
var $ mySelect = $ ('# mySelect'); var str = '';
Noch schneller
quelle
Wenn Sie Daten von einem Objekt erhalten, leiten Sie dieses Objekt einfach an die Funktion weiter ...
Name und ID sind Namen von Objekteigenschaften ... damit Sie sie aufrufen können, wie Sie möchten ... Und natürlich, wenn Sie über Array verfügen ... möchten Sie eine benutzerdefinierte Funktion mit for-Schleife erstellen ... und diese Funktion dann einfach aufrufen Dokument bereit ... Prost
quelle
Basierend auf Antwort des dule für eine Sammlung von Gegenständen anhängen, ein Einzeiler
for...in
auch Wunder wirken:Den Optionen werden sowohl Objektwerte als auch Indizes zugewiesen. Diese Lösung funktioniert sogar in der alten jQuery (v1.4) !
quelle
Wenn Sie optgroup in select haben , haben Sie einen Fehler im DOM.
Ich denke am besten:
quelle
Sie können den folgenden Code ausprobieren, um ihn an die Option anzuhängen
quelle
quelle
So habe ich es gemacht, mit einer Schaltfläche zum Hinzufügen jedes ausgewählten Tags.
quelle
$(document).ready(function(){ $("#button").click(function() { $('#id_table_AddTransactions').append('<option></option>'); }); });
Sie können dies in ES6 tun:
quelle
Wenn jemand hierher kommt und nach einer Möglichkeit sucht, Optionen mit Dateneigenschaften hinzuzufügen
Mit attr
Mit Daten - Version hinzugefügt 1.2.3
quelle