2012-08-02 169 views
0

我试图通过进入输入HTML代码标签值的一部分,里面放上dijit.Tree的复选框。它显示好,但我不能检查或取消选中它。 就好像点击事件不是鼓泡/到达输入元素。的dijit树+复选框 - 无法选择/取消选择复选框

这是我如何创建我的树对象。

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

我该如何解决这个问题?

回答

1

现在2个选择,我想起:

  1. ,如果你可以使用新的道场的dgrid。使用这个新的网格,您可以使用Editor模块并将“复选框”作为参数传递,并在您的列中显示一个复选框。检查出来here。然后你可以下载它here,当你这样做时,检查出“test”文件夹,你会在“dgrid/test/tree.html”中找到你想要的东西的例子。
  2. 在当前的电网,编辑您return语句的getLabel方法,并使其返回道场风格的标记像<div data-dojo-type="dijit.form.CheckBox" ... ></div>,然后树的启动事件后做dojo.parser.parse(tree.domNode)。这将只解析网格的DOM节点,并将任何dojo样式标记转换为实际的dojo对象。

我个人建议,如果可以的话,第一选择。

运气,