Programmatische ‚abzuwählen‘ ein jQuery UI wählbar-Widget
-
12-10-2019 - |
Frage
Gibt es eine Möglichkeit, um programmatisch ‚abzuwählen‘ jede und alle ausgewählten Elemente für ein bestimmtes $("#selectable").selectable()
Widget?
Lösung
Der folgende Befehl arbeitet unter http://jqueryui.com/demos/selectable/
$('#selectable .ui-selected').removeClass('ui-selected')
Da eine Existenz definiert die Klasse, wenn ein Element ausgewählt ist, einfach das Element zu entfernen wird es deaktivieren.
Beachten Sie, können Sie auch die Vorteile von toggleClass und addClass Funktionen übernehmen.
EDIT:
Versuchen Sie, diese zu: $('#selectable').trigger('unselected')
. Das könnte auch alle CSS-Änderungen als auch auslösen, und auf diese Weise die nicht ausgewählte Ereignis wird auch ausgelöst für was auch immer sonst süchtig sein kann, um es.
Andere Tipps
Die akzeptierte Antwort Auswahl entfernen nur visuell. Es ist nicht löst die nicht ausgewählten Rückruf.
Dieses stattdessen verwendet werden:
$(".ui-selected").each(function(i,e){
$(".selector").selectable("triggerunselect",e);
});
Sie könnten zerstören und die aktuelle "wählbar" Instanz reinit.
Zum Beispiel wie folgt aus:
$("#selectable-area").selectable("destroy");
dann
$("#selectable-area").selectable();