我正在使用带有复选框的Ultrawebtree
如果选中或取消选中父节点,则应根据父节点检查状态检查或取消选中所有子节点。我知道这可以通过使用javascript迭代所有节点项来完成,但是当有100个子节点时,同样有性能,mance问题
那么有没有办法用一行语句设置所有childnode check属性的属性(最好使用JQuery)
类似
$(#treeid).siblings.attr("checked", false) //etc (I am sure this line of code won't work)
所以我的要求是替换递归调用树节点的javascript方法,以便用JQuery语句检查/取消选中
我尝试使用setChecked方法,如下所示
$("#treeid").setChecked(false)
但似乎没有工作..
答案 0 :(得分:1)
attr
方法的mutator版本非常乐意同时对多个元素进行操作,只需提供一个选择器或函数链,为您提供所需的元素,然后调用.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');
});