Javascript dijit树&x2B;复选框-无法选择/取消选择复选框

Javascript dijit树&x2B;复选框-无法选择/取消选择复选框,javascript,checkbox,tree,dojo,Javascript,Checkbox,Tree,Dojo,我试图通过输入html代码作为标签值的一部分,在dijit.Tree中放置一个复选框。它显示ok,但我不能选中或取消选中它。 好像单击事件不是冒泡/到达输入元素 下面是我如何创建树对象的 myTree = new dijit.Tree({ model: myModel, showRoot: false, getLabel: function(item) { if (!item.root) return '&l

我试图通过输入html代码作为标签值的一部分,在dijit.Tree中放置一个复选框。它显示ok,但我不能选中或取消选中它。 好像单击事件不是冒泡/到达输入元素

下面是我如何创建树对象的

myTree = new dijit.Tree({
    model: myModel,
    showRoot: false,            
    getLabel: function(item) {
        if (!item.root)
            return '<input type="checkbox" name="'+ item.name +'" id="'+ item.name +'" value="1" /> '+ item.name;
    }

}, "gridDiv");
myTree=新的dijit.Tree({
型号:myModel,
showRoot:错,
getLabel:函数(项){
如果(!item.root)
返回“”+item.name;
}
}“gridDiv”);

如何解决这个问题?

现在我想到了两个选择:

  • 如果可以,请使用新dojo的dgrid。使用这个新网格,您可以使用编辑器模块并将“checkbox”作为参数传递,它将在您的列中呈现一个复选框。过来看。然后你可以下载它,当你下载的时候,检查一下“test”文件夹,在那里你可以在“dgrid/test/tree.html”中找到你想要的例子
  • 在当前网格中,编辑getLabel方法的return语句,使其返回dojo样式的标记,如
    ,然后在树的启动事件之后执行
    dojo.parser.parse(tree.domNode)
    。这将只解析网格的DOM节点,并将任何dojo样式的标记转换为实际的dojo对象
  • 如果可以的话,我个人推荐第一选择


    幸运的是,

    如果树中有复选框,我会选择cbtree。