查询DIV内的dijit复选框列表

时间:2009-12-11 08:38:19

标签: javascript dojo

我需要在DIV中找到所有dijit.form.CheckBox小部件并启用/禁用所有这些小部件。我无法形成适当的查询。

我试过dojo.query("[dojoType~=dijit.form.CheckBox]"),但它给了我一个空列表。

适当的查询是什么? DOJO查询可以返回WidgetSet还是总是返回DOM ID?是否有一些不同的方式来查询dijit小部件?

2 个答案:

答案 0 :(得分:9)

尝试dijit.findWidgets

  

在root下搜索子树,放置   在outAry中找到了小部件。不   搜索嵌套小部件(即小部件   在其他小部件内)

答案 1 :(得分:0)

这是1.7>代码并将递归搜索小部件而不仅仅是直接后代,如findWidgets

的情况

需要"dojo/query""dijit/registry"

var checkboxes = query("input[type=checkbox]:checked", "myForm");
checkboxes.forEach((function (checkbox) {
    //dom node
    console.log(checkbox);

    //dijit
    console.log(registry.byId(checkbox.id));
})); 

此查询检查了dom节点标识myForm下方的复选框,并循环显示结果并打印元素。请注意,这只会在结果集中显示dom节点元素,因此如果您想获取dijits,可以使用registry.byId(...)