dojo的checkbox全选和取值

前端之家收集整理的这篇文章主要介绍了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);

猜你在找的Dojo相关文章