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

2voto

Hatim Punkte 1278

Dies ist nur ein kurzer Hinweis auf die beste Leistung

Wenn Sie viele Optionen haben, erstellen Sie immer eine große Zeichenkette und fügen Sie sie dann der "Auswahl" hinzu, um die beste Leistung zu erzielen.

z.B.

var $mySelect = $('#mySelect'); var str = '';

$.each(items, function (i, item) {
    // IMPORTANT: no selectors inside the loop (for the best performance)
    str += "<option value='" + item.value + "'> " + item.text + "</option>";
});
// you built a big string

$mySelect.html(str); // <-- here you add the big string with a lot of options into the selector.
$mySelect.multiSelect('refresh');

Noch schneller

var str = ""; 
for(var i; i = 0; i < arr.length; i++){
    str += "<option value='" + item[i].value + "'> " + item[i].text + "</option>";
}    
$mySelect.html(str);
$mySelect.multiSelect('refresh');

2voto

So habe ich es gemacht, mit einer Schaltfläche zum Hinzufügen jedes Select-Tags.

$(document).on("click","#button",function() {
   $('#id_table_AddTransactions').append('<option></option>')
}

0 Stimmen

Sollte es sein $(document).ready(function(){ $("#button").click(function() { $('#id_table_AddTransactions').append('<option></option>'); }); });

0 Stimmen

Ja, da haben Sie recht. Meine Antwort enthielt nicht die fertige Erklärung, weil ich mich auf die Lösung des Problems konzentriert habe.

2voto

idiglove Punkte 167

Sie können dies in ES6 tun:

$.each(json, (i, val) => {
    $('.js-country-of-birth').append(`<option value="${val.country_code}"> ${val.country} </option>`);
  });

2voto

Kamil Kiełczewski Punkte 69048

Versuchen Sie

mySelect.innerHTML+= '<option value=1>My option</option>';

btn.onclick= _=> mySelect.innerHTML+= `<option selected>${+new Date}</option>`

<button id="btn">Add option</button>

<select id="mySelect"></select>

1voto

Muhammad Kamal Punkte 27

Sie können den folgenden Code ausprobieren, um die Option anzuhängen

  <select id="mySelect"></select>

    <script>
          $("#mySelect").append($("<option></option>").val("1").html("My enter code hereoption"));
    </script>

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