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')

15voto

szpapas Punkte 285
$('#mySelect').empty().append('<option value=1>My option</option>').selectmenu('refresh');

8 Stimmen

Wenn ich mich nicht irre, erfordert diese Lösung nicht nur jQuery, sondern auch jQueryUI. selectmenu() ist nicht Teil des jQuery-Kerns und ist ein jQueryUI Widget . Das macht es zu einer ziemlich schwerfälligen Lösung, oder?

13voto

caiohamamura Punkte 1965

Ich mag es, nicht Jquery Ansatz zu verwenden:

mySelect.add(new Option('My option', 1));

3 Stimmen

Ich mag es, dass es nicht jquery ist ;) Das sieht man nicht allzu oft

3 Stimmen

Ja, und obwohl ich nicht in Frage stellen kann jquery Macht, gibt es Fälle, die es nicht vereinfachen Dinge.

11voto

MaxEcho Punkte 13901
var select = $('#myselect');
var newOptions = {
                'red' : 'Red',
                'blue' : 'Blue',
                'green' : 'Green',
                'yellow' : 'Yellow'
            };
$('option', select).remove();
$.each(newOptions, function(text, key) {
    var option = new Option(key, text);
    select.append($(option));
});

11voto

Gauri Bhosle Punkte 4165

Sie können Optionen dynamisch in das Dropdown-Menü einfügen, wie im folgenden Beispiel gezeigt. In diesem Beispiel habe ich Array-Daten genommen und diese Array-Werte mit der Dropdown-Liste verbunden, wie im Screenshot der Ausgabe gezeigt

Ausgabe:

enter image description here

var resultData=["Mumbai","Delhi","Chennai","Goa"]
$(document).ready(function(){
   var myselect = $('<select>');
     $.each(resultData, function(index, key) {
         myselect.append( $('<option></option>').val(key).html(key) );
       });
      $('#selectCity').append(myselect.html());
});

<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.min.js">
</script>

<select  id="selectCity">

</select>

10voto

Eduard Florinescu Punkte 15083

Dies wird in keiner Antwort erwähnt, ist aber nützlich, wenn Sie möchten, dass diese Option auch ausgewählt wird, können Sie sie hinzufügen:

var o = new Option("option text", "value");
o.selected=true;
$("#mySelect").append(o);

1 Stimmen

Danke, ich brauchte eine Vorauswahl für eine Option, die aus json generiert wurde, und das hat gut funktioniert.

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