11

有没有办法以编程方式“取消选择”给定$("#selectable").selectable()小部件的任何和所有选定元素?

4

3 回答 3

17

以下命令适用于http://jqueryui.com/demos/selectable/

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

由于一个类的存在定义了一个项目是否被选中,只需删除该项目就会取消选择它。

请注意,您还可以利用 toggleClass 和 addClass 函数。

编辑:

也试试这个:$('#selectable').trigger('unselected')。这也可能触发所有的 css 更改,这样未选择的事件也会被触发,因为它可能会被其他任何挂钩。

于 2010-12-20T19:29:48.933 回答
1

接受的答案只会在视觉上取消选择。它不会触发未选择的回调。

这可以代替使用:

$(".ui-selected").each(function(i,e){
  $(".selector").selectable("triggerunselect",e);
});
于 2018-05-21T01:47:06.833 回答
0

您可以销毁并重新初始化当前的“可选”实例。

例如像这样:

$("#selectable-area").selectable("destroy");

然后

$("#selectable-area").selectable();
于 2019-07-15T15:51:47.110 回答