dojo的checkbox全选和取值

最近项目需要用dojo,有个应用是有多个checkbox。选中一个一级目录的checkbox,二级所有会选中。

我用以前常用的js全选,(document.getElementById('chkname').checked=true;)发现没用反应。

后来通过F12查看html,才发现问题。其实已经选中了,只是dojo的checkbox蓝色选中样式没加上去,就是说只能用dojo方式设置checkbox的选择状态。

发现在dojo下,input类型为checkbox的控件无法通过dojo方式绑定click,onchange事件。


 <input type="checkbox" data-dojo-type="dijit/form/CheckBox" id="w01" name="w01" onchange="btnClick('w01',2)"
     value="w01">
    <label for="w01">w01 input/checkbox dijit/form/CheckBox</label>
    
    <input type="checkbox" data-dojo-type="dijit/form/CheckBox" id="w01_0" value="1">
    <input type="checkbox" data-dojo-type="dijit/form/CheckBox" id="w01_1" value="2">
    
    <input type="checkbox" data-dojo-type="dijit/form/CheckBox" id="w02" name="w02" onchange="btnClick('w02',3)"
     value="w01">
    <label for="w01">w01 input/checkbox dijit/form/CheckBox</label>
    
    <input type="checkbox" data-dojo-type="dijit/form/CheckBox" id="w02_0" value="1">
    <input type="checkbox" data-dojo-type="dijit/form/CheckBox" id="w02_1" value="2">
     <input type="checkbox" data-dojo-type="dijit/form/CheckBox" id="w02_1" value="3">
     </br>
     <input type="button" value='show' onclick="showlist('w01',2)"/>
    <label for="w01">sub</label>
	<script type="text/javascript">
        function btnClick(a,size) {
        	for(i=0;i<size;i++)
        		dijit.byId(a+'_'+i).attr('checked',dijit.byId(a).checked);
        }
        
      function showlist(a,size){
    	  s='';
    	  for(i=0;i<size;i++){
      		if(dijit.byId(a+'_'+i).checked){
      			s+=dijit.byId(a+'_'+i).value+',';
      		}
    	  }
    	  alert(s)
      }
    </script>

<select id="typeClass_modify" name="typeClass" data-dojo-type="dijit/form/Select">
<option value="-1" selected="selected">请选择</option>
<option value="3">3-上层菜单</option>
<option value="4">4-左侧菜单</option>
<option value="5">5-页面菜单</option>

</select>


setTimeout(function() { var widget = dijit.byId("typeClass_modify"); if(widget){ widget.attr('value','${s.getTypeClass()}'); }else{ console.log('lowBalanceCheck null') } },1000);

相关文章

我有一个网格,可以根据更大的树结构编辑小块数据.为了更容易...
我即将开始开发一款教育性的视频游戏.我已经决定以一种我可以...
我正在使用带有Grails2.3.9的Dojo1.9.DojoNumberTextBox小部...
1.引言鉴于个人需求的转变,本系列将记录自学arcgisapiforja...
我正在阅读使用dojo’sdeclare进行类创建的语法.描述令人困惑...
我的团队由更多的java人员和JavaScript经验丰富组成.我知道这...