我正在使用带有复选框的Ultrawebtree

如果选中或取消选中父节点,则随后应基于父节点的检查状态来选中或取消选中所有子节点。我知道这可以通过使用javascript遍历所有节点项来完成,但是当有100个子节点时,同样存在性能问题

因此,有什么方法可以通过单行语句来设置所有childnode check属性的属性(最好使用JQuery)

就像是

$(#treeid).siblings.attr("checked", false) //etc (I am sure this line of code won't work)


所以我的要求是用JQuery语句替换递归调用树节点进行检查/取消检查的javascript方法

我尝试如下使用setChecked方法

$("#treeid").setChecked(false)


但似乎没有用..

最佳答案

attr方法的增变器版本很高兴能够一次处理多个元素,只需提供一个选择器或功能链,即可为您提供所需的元素,然后调用.attr('checked', 'checked')对其进行检查或.removeAttr('checked')取消选中它们。

这是一个简单的演示:

<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<hr>
<button id="check">Check</button>
<button id="uncheck">Uncheck</button>


和:

$('#check').click(function() {
    $(':checkbox').attr('checked', 'checked');
});
$('#uncheck').click(function() {
    $(':checkbox').removeAttr('checked');
});


实时版本:http://jsfiddle.net/ambiguous/FhnbJ/1/

10-05 20:53
查看更多