2016-05-23 18 views
0

Ich versuche die ausgewählte Option in select2 zu deaktivieren, aber es scheint, als würde select2 nicht aktualisiert.select2 wird nach dem Deaktivieren der ausgewählten Option nicht aktualisiert

Mein Zweck ist es, jedes Element in der select2-Liste nach der Auswahl zu deaktivieren. Ich sehe den HTML, dass die Option das deaktivierte Attribut erhielt, aber die Option ist weiterhin im select2-Element aktiviert.

$("#select-filter").select2({ 
    placeholder: "Select a category", 
    data:[{ 
     id: "", 
     text: "" 
    },{ 
     id: "project", 
     text: "project" 
    },{ 
     id: "date", 
     text: "date" 
    },{ 
     id: "user", 
     text: "user" 
    }] 
}).on("change", function(e) { 
    $("#select-filter :selected").attr("disabled", "true"); 
}); 

Siehe Beispiel: https://jsfiddle.net/bkqeqbay/1/

+0

welchen Browser verwenden Sie? --- probier '$ (" # select-filter: selected "). prop (" deaktiviert ", true);' –

+0

@Amani chrome, und schon probiert das - hat nicht geholfen – Mojo

+1

ich habe deinen code mit chrome und its ausprobiert arbeiten - https://jsfiddle.net/bkqeqbay/ –

Antwort

1

Sie die Select-Ereignis verwenden können und die Daten wie folgt:

...}).on("select2:select", function(e) { 
    console.dir(e.params.data); 
    e.params.data.disabled = true; 
}); 

Aktualisiert Geige: https://jsfiddle.net/bkqeqbay/4/

Beachten Sie, dass, wenn Sie auch die deaktivieren müssen zugrunde liegenden Element Auswahloption können Sie tun:

var index = $(e.params.data.element).index(); 
$("#select-filter").find('option').eq(index).prop('disabled',true);