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

1027voto

dule Punkte 17160

Ich persönlich bevorzuge diese Syntax für das Anhängen von Optionen:

$('#mySelect').append($('<option>', {
    value: 1,
    text: 'My option'
}));

Wenn Sie Optionen aus einer Sammlung von Elementen hinzufügen, können Sie wie folgt vorgehen:

$.each(items, function (i, item) {
    $('#mySelect').append($('<option>', { 
        value: item.value,
        text : item.text 
    }));
});

32 Stimmen

Dies wird ziemlich langsam sein, wenn Sie viele Optionen hinzufügen, verglichen mit dem Erstellen einer HTML-Zeichenkette und deren Anhängen

384voto

Josh Punkte 3738

Dies funktionierte NICHT im IE8 (wohl aber im FF):

$("#selectList").append(new Option("option text", "value"));

Das hat funktioniert:

var o = new Option("option text", "value");
/// jquerify the DOM object 'o' so we can use the html method
$(o).html("option text");
$("#selectList").append(o);

142voto

Dipu Punkte 1609

Sie können die Option mit der folgenden Syntax hinzufügen, außerdem können Sie Art und Weise behandeln Option in jQuery für weitere Einzelheiten.

  1. $('#select').append($('<option>', {value:1, text:'One'}));

  2. $('#select').append('<option value="1">One</option>');

  3. var option = new Option(text, value); $('#select').append($(option));

2 Stimmen

Der zweite hat ein falsches Attribut im Option-Tag ( value anstelle von val ). Der korrekte Code sollte lauten $('select').append('<option value="1">One</option>');

45voto

Das ist ganz einfach:

$('#select_id').append('<option value="five" selected="selected">Five</option>');

oder

$('#select_id').append($('<option>', {
                    value: 1,
                    text: 'One'
                }));

45voto

bobince Punkte 512550

Wenn der Optionsname oder -wert dynamisch ist, müssen Sie sich nicht um die Umwandlung von Sonderzeichen kümmern; in diesem Fall ziehen Sie vielleicht einfache DOM-Methoden vor:

var s= document.getElementById('mySelect');
s.options[s.options.length]= new Option('My option', '1');

3 Stimmen

Sieht für mich nicht so einfach aus!!

28 Stimmen

Dies ist einfach in Javascript Begriffe, hat jquery Dinge zu einfach für die Menschen gemacht

0 Stimmen

Document.getElementById('mySelect').add(new Option('Meine Option','1')); // wenn IE8 oder besser

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