Es scheint keine eingebaute Funktion zu sein, um programmatisch zu deaktivieren/deaktivieren Sie eine Option aus einer Mehrfachauswahl-Select2 Steuerung. (Siehe this discussion.)
Sie können jedoch das Array der ausgewählten Werte abrufen, den Wert aus dem Array entfernen und dann das Array an das Steuerelement zurückgeben.
Select2 v4:
Der folgende Code funktioniert für Select2 v4. Es funktioniert auch für Select2 v3, solange das Steuerelement von einem <select>
-Element und nicht von einem verborgenen Eingabeelement unterstützt wird. (Hinweis: Wenn Select2 v4 verwenden, muss die Steuerung von einem <select>
Element gesichert werden.)
var $select = $('#select');
var idToRemove = 'c4';
var values = $select.val();
if (values) {
var i = values.indexOf(idToRemove);
if (i >= 0) {
values.splice(i, 1);
$select.val(values).change();
}
}
JSFiddle for Select2 v4
JSFiddle for Select2 v3
Select2 v3:
Die folgende Code funktioniert für Select2 v3, unabhängig davon, ob Sie das Steuerelement mit einersichernElement oder ein verstecktes Eingabeelement.
var $select = $('#select');
var idToRemove = 'c4';
var values = $select.select2('val'),
i = values.indexOf(idToRemove);
if (i >= 0) {
values.splice(i, 1);
$select.select2('val', values);
}
JSFiddle for Select2 v3, using <select>
element
JSFiddle for Select2 v3, using hidden input element
Was bedeutet die "checked" ein ausgesuchtes Element Attribut tun? –
dieses Attribut markiert eine Option als ausgewählt oder nicht, es ist wie das Auswählen der Option und nicht, es ist wie das Deaktivieren der Option. Es werden jedoch keine zusätzlichen Ereignisse ausgelöst, an denen Sie ausschließlich eine Änderung auslösen können. – Ducane
Ich glaube, dass "ausgewählt" für Optionen verwendet wird und Ihr Code dieses Attribut auf die Auswahl anwendet, nicht die Optionen. –