0

我在网上找到了工作示例,我可以看到树的每个节点旁边的复选框。上一节提到的小提琴链接如下所示:

不显示复选框的 Dojo 树

现在我的要求是当父节点被检查时,所有子节点也应该被检查并且它应该在 DOJO 1.3 版本中工作可以帮助某人帮助修复小提琴代码

4

1 回答 1

1

在复选框侦听器中,您可以输入代码来查找子节点并检查它们:在添加其他复选标记之前必须先扩展树,因为在第一次扩展父节点之前不会创建子节点。

    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)
  });
  });

小提琴:http: //jsfiddle.net/mcfskLop/8/

于 2016-02-02T23:03:20.013 回答