如何取消选择jquery中的所有元素?

时间:2014-05-19 05:50:15

标签: javascript jquery jstree

我想取消选择(删除所选元素)。我在演示中使用jstree。所以我读了插件api。 http://www.jstree.com/api/#/?f=deselect_all([supress_event])。 但它不会删除所选项目。 我按照这些步骤 1)单击“b”节点,然后选择“b”节点。 2)然后按“取消选择”按钮,但不取消选择项目。

$('#deselect').click(function(){

    alert('--')
    $('#tree').deselect_all(true)

})

http://jsfiddle.net/fuu94/150/

3 个答案:

答案 0 :(得分:18)

试试这段代码:

$('#tree').jstree("deselect_all");

而不是

$('#tree').deselect_all(true)

这是 Updated fiddle

答案 1 :(得分:1)

我刚学会了你也可以使用:

$('#tree').jstree("deselect_all", true);

这将取消“已更改。\ nstree”'事件,这是我的页面所需要的,似乎更符合你原来的逻辑。

我的工作代码摘录逐字:

function DeselectTree() {
    $('[id ^= "forms-foldertree-"]').each(function () {
        $(this).jstree('deselect_all', true);
    });
}

答案 2 :(得分:0)

我用的是什么,

  

$('#取消选择&#39)。单击(函数(){

     

$('#tree')。attr("已检查",false);

     

})

或者您可以添加自定义属性并为select / deselect提供样式表/类

通过jquery改变这个

  

$('#取消选择&#39)。单击(函数(){

     

if($('#tree')。attr(" customattr")==" select")

   $('#tree').attr("customattr", "unselect");
     

否则

$('#tree').attr("customattr", "select");
     

})