Программно «отменить выбор» виджета, выбираемого в jQuery UI - PullRequest
9 голосов
/ 20 декабря 2010

Есть ли способ программным образом "отменить выбор" любого и всех выбранных элементов для данного виджета $("#selectable").selectable()?

Ответы [ 2 ]

17 голосов
/ 20 декабря 2010

Следующая команда работает на http://jqueryui.com/demos/selectable/

$('#selectable .ui-selected').removeClass('ui-selected')

Поскольку существование класса определяет, выбран ли элемент, простое удаление элемента отменит его выбор.

Обратите внимание, вы также можетевоспользуйтесь функциями toggleClass и addClass.

РЕДАКТИРОВАТЬ:

Попробуйте тоже: $('#selectable').trigger('unselected').Это также может инициировать все изменения CSS, и, таким образом, невыбранное событие также запускается для всего, что к нему может быть привязано.

0 голосов
/ 21 мая 2018

Принятый ответ отменяет выбор только визуально. Это не вызывает невыбранный обратный вызов.

Это можно использовать вместо:

$(".ui-selected").each(function(i,e){
  $(".selector").selectable("triggerunselect",e);
});
...