以编程方式“取消选择”jQuery UI可选小部件

时间:2010-12-20 19:14:41

标签: jquery jquery-ui jquery-ui-selectable

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

3 个答案:

答案 0 :(得分:17)

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

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

由于类的存在定义了是否选择了某个项目,因此只需删除该项目即可取消选择该项目。

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

编辑:

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

答案 1 :(得分:0)

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

可以改为使用:

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

答案 2 :(得分:0)

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

例如这样的

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

然后

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