Wie fügt man am einfachsten eine option
zu einem Dropdown mit jQuery?
Wird das funktionieren?
$("#mySelect").append('<option value=1>My option</option>');
Wie fügt man am einfachsten eine option
zu einem Dropdown mit jQuery?
Wird das funktionieren?
$("#mySelect").append('<option value=1>My option</option>');
Versuchen Sie Folgendes.
$('#selectID').append($('<option>',
{
value: value_variable,
text : text_variable
}));
Etwa so.
for (i = 0; i < 10; i++)
{
$('#mySelect').append($('<option>',
{
value: i,
text : "Option "+i
}));
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id='mySelect'></select>
Oder versuchen Sie dies.
$('#selectID').append( '<option value="'+value_variable+'">'+text_variable+'</option>' );
Etwa so.
for (i = 0; i < 10; i++)
{
$('#mySelect').append( '<option value="'+i+'">'+'Option '+i+'</option>' );
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id='mySelect'></select>
Um die Leistung zu verbessern, sollten Sie versuchen, das DOM nur einmal zu ändern, vor allem, wenn Sie viele Optionen hinzufügen.
var html = '';
for (var i = 0, len = data.length; i < len; ++i) {
html.join('<option value="' + data[i]['value'] + '">' + data[i]['label'] + '</option>');
}
$('#select').append(html);
Um die Leistung zu verbessern, sollten Sie string.join()
für die Verkettung von Zeichenketten
Dies ist eine großartige Lösung. Ich hatte ein Problem mit "join()" im Beispiel nicht eine gültige Funktion, aber diese Lösung ermöglicht es Ihnen, ein jQuery "Versprechen" zu verwenden, um zu bestimmen, wenn alle Optionen hinzugefügt wurden und das DOM fertig ist Aktualisierung. Bei den anderen Lösungen, die Optionen nacheinander hinzufügen, ist dies nicht so einfach möglich. Ersetzen Sie die letzte Zeile im Beispiel durch die folgende, um eine Aktion erst nach Abschluss der DOM-Änderung durchzuführen: $.when($('#select').append(html)).done(function () { callSomeFunctionThatRequiresOptionsToBeSet() });
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.
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')