【问题标题】:Programmatically 'unselect' a jQuery UI selectable widget以编程方式“取消选择”一个 jQuery UI 可选小部件
【发布时间】:2010-12-20 19:14:40
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

    编辑:

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

    【讨论】:

    • 通过这种方式,似乎它不会引发“未选择”事件:(
    • 我认为最新 jquery-ui 的正确方法是 $('#selectable').data("ui-selectable")._mouseStop(null);
    【解决方案2】:

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

    这个可以代替:

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

    【讨论】:

      【解决方案3】:

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

      比如这样:

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

      然后

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-11-15
        • 2014-04-05
        • 2010-12-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多