dijit Tree +复选框 - 无法选择/取消选中复选框

时间:2012-08-02 14:54:06

标签: javascript checkbox tree dojo

我正在尝试通过输入输入html代码作为标签值的一部分在dijit.Tree中放置一个复选框。它显示正常,但我无法检查或取消选中它。 好像点击事件没有冒泡/到达输入元素。

以下是我创建树对象的方法。

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

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

现在我想到了两个选择:

  1. 如果可以,请使用新的dojo的dgrid。使用这个新网格,您可以使用编辑器模块并将“复选框”作为参数传递,它将在列中呈现一个复选框。看看here。然后你可以下载它here,当你这样做时,看看“test”文件夹,你会在“dgrid / test / tree.html”中找到你想要的例子。
  2. 在当前网格中,编辑getLabel方法的return语句,并使其返回dojo样式标记,如<div data-dojo-type="dijit.form.CheckBox" ... ></div>,然后在树的启动事件后执行dojo.parser.parse(tree.domNode)。这将仅解析网格的DOM节点,并将任何dojo样式标记转换为实际的dojo对象。
  3. 我个人建议,如果可以的话,第一选择。

    运气,

答案 1 :(得分:0)

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