dojo/dijit 树复选框 select 父项单击时的子项
dojo/dijit tree checkbox select child when parent clicked
我在网上找到了工作示例,我可以看到树的每个节点旁边都有复选框fiddle link 提到的最后一节如下:
Dojo tree with checkbox not displaying
现在我的要求是当父节点被检查时,所有的子节点也应该被检查并且它应该在 DOJO 1.3 版本中工作
可以帮助某人帮助修复 fiddle 代码
在复选框侦听器中,您可以放置代码来查找子项并同时检查它们:
在添加其他复选标记之前必须先展开树,因为在第一次展开父节点之前不会创建子节点。
dojo.connect(cb, "onChange", function() {
var treeNode = dijit.getEnclosingWidget(this.domNode.parentNode);
//treeNode.expand();
treeNode.tree._expandNode(treeNode);
dojo.publish("/checkbox/clicked", [{
"checkbox": this,
"item": treeNode
}]);
var parentcb = this;
console.log(parentcb.checked)
treeNode.getChildren().forEach(function(item) {
var checkbox = dijit.getEnclosingWidget(item.labelNode.children[0]);
checkbox.set('checked', parentcb.checked)
});
});
我在网上找到了工作示例,我可以看到树的每个节点旁边都有复选框fiddle link 提到的最后一节如下:
Dojo tree with checkbox not displaying
现在我的要求是当父节点被检查时,所有的子节点也应该被检查并且它应该在 DOJO 1.3 版本中工作 可以帮助某人帮助修复 fiddle 代码
在复选框侦听器中,您可以放置代码来查找子项并同时检查它们: 在添加其他复选标记之前必须先展开树,因为在第一次展开父节点之前不会创建子节点。
dojo.connect(cb, "onChange", function() {
var treeNode = dijit.getEnclosingWidget(this.domNode.parentNode);
//treeNode.expand();
treeNode.tree._expandNode(treeNode);
dojo.publish("/checkbox/clicked", [{
"checkbox": this,
"item": treeNode
}]);
var parentcb = this;
console.log(parentcb.checked)
treeNode.getChildren().forEach(function(item) {
var checkbox = dijit.getEnclosingWidget(item.labelNode.children[0]);
checkbox.set('checked', parentcb.checked)
});
});