907 Stimmen

Hinzufügen von Optionen zu einem <select> mit jQuery?

Wie fügt man am einfachsten eine option zu einem Dropdown mit jQuery?

Wird das funktionieren?

$("#mySelect").append('<option value=1>My option</option>');

30 Stimmen

Oder verwenden Sie $("#mySelect").html(....) um die aktuellen Optionen durch die neuen zu ersetzen.

0 Stimmen

Warum nicht einfach? $('<option/>').val(optVal).text('some option').appendTo('#mySelect')

3voto

panzer Punkte 115
$(function () {
     var option = $("<option></option>");
     option.text("Display text");
     option.val("1");
     $("#Select1").append(option);
});

Wenn Sie Daten von einem Objekt erhalten, dann leiten Sie dieses Objekt einfach an die Funktion weiter...

$(function (product) {
     var option = $("<option></option>");
     option.text(product.Name);
     option.val(product.Id);
     $("#Select1").append(option);
});

Name und Id sind Namen von Objekteigenschaften... also können Sie sie nennen, wie immer Sie wollen... Und natürlich, wenn Sie Array haben... wollen Sie benutzerdefinierte Funktion mit for-Schleife zu bauen... und dann rufen Sie einfach diese Funktion im Dokument bereit... Prost

3voto

CPHPython Punkte 9094

Basierend auf Dule's Antwort zum Anhängen einer Sammlung von Elementen, eine Einzeiler for...in wird ebenfalls Wunder wirken:

let cities = {'ny':'New York','ld':'London','db':'Dubai','pk':'Beijing','tk':'Tokyo','nd':'New Delhi'};

for(let c in cities){$('#selectCity').append($('<option>',{value: c,text: cities[c]}))}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
<select  id="selectCity"></select>

Den Optionen werden sowohl Objektwerte als auch Indizes zugewiesen. Diese Lösung funktioniert auch in der alten jQuery (v1.4) !

3voto

masmerino Punkte 699

Wenn jemand hierher kommt und nach einer Möglichkeit sucht, Optionen mit Dateneigenschaften hinzuzufügen

Verwendung von attr

var option = $('<option>', { value: 'the_value', text: 'some text' }).attr('family', model.family);

Verwendung von Daten - Version hinzugefügt 1.2.3

var option = $('<option>', { value: 'the_value', text: 'some text' }).data('misc', 'misc-value);

3voto

d-velop Punkte 89

Wenn Sie optgroup innerhalb Wählen Sie erhalten Sie einen Fehler im DOM.

Ich denke, das ist der beste Weg:

$("#select option:last").after($('<option value="1">my option</option>'));

2voto

Cris Punkte 2403
$('#select_id').append($('<option>',{ value: v, text: t }));

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X