Sie können die vorhandenen Optionen mithilfe der empty
Methode entfernen und dann Ihre neuen Optionen hinzufügen:
var option = $('<option></option>').attr("value", "option value").text("Text");
$("#selectId").empty().append(option);
Wenn Sie Ihre neuen Optionen in einem Objekt haben, können Sie:
var newOptions = {"Option 1": "value1",
"Option 2": "value2",
"Option 3": "value3"
};
var $el = $("#selectId");
$el.empty(); // remove old options
$.each(newOptions, function(key,value) {
$el.append($("<option></option>")
.attr("value", value).text(key));
});
Bearbeiten: Um alle Optionen außer der ersten zu entfernen, können Sie den :gt
Selektor verwenden, um alle option
Elemente mit einem Index größer als Null zu erhalten, und remove
diese:
$('#selectId option:gt(0)').remove(); // remove all options, but not the first
$('#selectId').selectpicker('refresh'); $('#selectId').selectpicker('render');
. Andernfalls werden die neuen Optionen in Ihrer Auswahlliste nicht angezeigt.$el.append($('<option/>', { value: value, text: key }));
Ich habe die ausgezeichnete Antwort von CMS in eine schnelle jQuery-Erweiterung geworfen:
Es erwartet ein Array von Objekten, die Schlüssel "Text" und "Wert" enthalten. Die Verwendung ist also wie folgt:
quelle
Dabei ist comboBx Ihre Kombinationsfeld-ID.
oder Sie können Optionen als Zeichenfolge an das bereits vorhandene innerHTML anhängen und dann dem ausgewählten innerHTML zuweisen.
Bearbeiten
Wenn Sie die erste Option beibehalten und alle anderen entfernen müssen, können Sie sie verwenden
quelle
Aus irgendeinem Grund dieser Teil
Die CMS-Lösung hat bei mir nicht funktioniert, stattdessen habe ich sie einfach verwendet
Und es funktioniert. Mein Arbeitscode sieht jetzt so aus:
quelle
Das Entfernen und Hinzufügen eines DOM-Elements ist langsamer als das Ändern eines vorhandenen Elements.
Wenn Ihre Optionssätze dieselbe Länge haben, können Sie Folgendes tun:
Falls Ihr neuer Optionssatz eine andere Länge hat, können Sie leere Optionen, die Sie wirklich benötigen, mithilfe einer oben beschriebenen Technik löschen / hinzufügen.
quelle
Wenn Ihr HTML-Code beispielsweise diesen Code enthält:
Um die Liste der Optionen in Ihrer Auswahl zu ändern, können Sie diesen Code unten verwenden. Wenn Ihr Name benannt ist, wählen Sie selectId .
In diesem Beispiel oben ändere ich die alte Liste der Optionen durch nur eine neue Option.
quelle
Hilft das?
quelle
Die alte Schule, Dinge von Hand zu machen, war immer gut für mich.
Reinigen Sie die Auswahl und lassen Sie die erste Option:
Wenn Ihre Daten von einem Json oder was auch immer stammen (nur die Daten zusammenfassen):
Mein Json Objetc:
Diese Lösung ist ideal für die Arbeit mit Ajax und antwortet in Json aus einer Datenbank.
quelle
Wenn wir
<select>
ständig aktualisieren und den vorherigen Wert speichern müssen:quelle