作家
登录

checkbox 多选框 联动实现代码

作者: 来源:www.28hudong.com 2013-03-30 02:53:37 阅读 我要评论

父类 复制代码 代码如下:<input type="checkbox" name="father" forcheckboxgroup="groupname1"/> 子类 复制代码 代码如下:<input type="checkbox" name="son" group="groupname1"/> 实现代码 复制代码 代码如下:<script type="text/javascript"> function CheckboxGroup(){ var arrelement = document.all; var i=0; while(i<arrelement.length){ var forgroupattrib = arrelement[i].getAttribute('forcheckboxgroup'); if(forgroupattrib != null && forgroupattrib != ''){ arrelement[i].setAttribute('groupmember',_getGroupMember(arrelement[i])); if(arrelement[i].tagName.toLowerCase() == 'input' && arrelement[i].type == 'checkbox'){ arrelement[i].onclick=function(){ //----------------------Checked All------------------ var groupmember = this.getAttribute('groupmember'); var i = 0; while(i<groupmember.length){ groupmember[i].checked = this.checked; i++; } //--------------------------------------------------- } } _setState(arrelement[i]); } i++; } } function _getGroupMember(o){ var groupname = o.getAttribute('forcheckboxgroup'); var items = new Array; var inputs = document.getElementsByTagName('input'); var i=0; while(i<inputs.length){ if(inputs[i].type == 'checkbox'){ var groupattrib = inputs[i].getAttribute('group'); if(groupattrib == groupname){ items[items.length] = inputs[i]; var master = inputs[i].getAttribute('groupmaster'); if (master == null) { master = new Array; master[0] = o.uniqueID; inputs[i].setAttribute('groupmaster', master); } else{ master[master.length] = o.uniqueID; } inputs[i].onpropertychange = function(){ if (event.propertyName == 'checked') { var arro = this.getAttribute('groupmaster'); var i = 0; while (i < arro.length) { _setState(document.getElementById(arro[i])); i++; } } } } } i++; } return items; } function _setState(o){ var master = o; if(master!=null){ var chkselall = true; var chknosel = true; var groupmember = master.getAttribute('groupmember'); var i = 0; while(i<groupmember.length){ if(chkselall)chkselall = groupmember[i].checked; if(chknosel)chknosel = !groupmember[i].checked; i++; } if(master.tagName.toLowerCase() == 'input'&&master.type=='checkbox'){ if (chkselall) { master.indeterminate = false; master.checked = true; } if (chknosel) { master.indeterminate = false; master.checked = false; } if(!chkselall&&!chknosel)master.indeterminate = true; } else{ master.disabled = chknosel; } } } window.attachEvent('onload',CheckboxGroup); </script>

  推荐阅读

  JQuery AJAX实现目录浏览与编辑的代码

采用jquery实现的,写了一段时间搁下了,这会才拿起来写完剩下的部分,只做实现没考虑很多,完善慢慢来吧 目录下的x文件夹为测试文件夹,test_text.asp为代码编辑的测试文件 当然需要在IIS中运行,具体的看代码! 截>>>详细阅读


本文标题:checkbox 多选框 联动实现代码

地址:http://www.17bianji.com/kaifa2/JS/29306.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)