親クラス コードをコピー コードは次のとおりです: サブクラス コードをコピーコードは次のとおりです: 実装コード コードをコピーします コードは次のとおりです。 <br>関数 CheckboxGroup(){ <br>var arrelement = document.all; <br>var i=0; <br>while(i<arrelement.length){ <BR>var forgroupattrib = arrelement[i].getAttribute ('forcheckboxgroup'); <BR>if(forgroupattrib != null && forgroupattrib != ''){ <BR>arrelement[i].setAttribute('groupmember',_getGroupMember(arrelement[i])); (arrelement[i].tagName.toLowerCase() == 'input' && arrelement[i].type == 'checkbox'){ <BR>arrelement[i].onclick=function(){ <BR>//- -------- -------------すべてチェック済み -------- <BR>var groupmember = this.getAttribute ('グループメンバー'); <BR>var i = 0; <BR>while(i<groupmember.length){ <BR>グループメンバー[i].checked = <BR>i ; 🎜>//---- -------------------------------------- ----- <BR> } <BR>} <BR>_setState(arrelement[i]); <BR>} <BR>} <BR>} <BR><BR>function _getGroupMember( o){ <BR>var groupname = o.getAttribute('forcheckboxgroup'); <BR>var items = new Array; <br>var inputs = document.getElementsByTagName('input'); <br>while(i<inputs .length){ <BR>if(inputs[i].type == 'checkbox'){ <BR>var groupattrib = inputs[i].getAttribute('group'); >if(groupattrib == グループ名) { <BR>items[items.length] = inputs[i]; <BR>var master = inputs[i].getAttribute('groupmaster'); <BR>if (master == null) { <BR>master = 新しい配列; <BR>master[0] = o.uniqueID; <BR>inputs[i].setAttribute('groupmaster', master); <BR>else{ 🎜>master[master.length] = o.uniqueID; <BR>} <BR>inputs[i].onpropertychange = function(){ <BR>if (event.propertyName == 'checked') { <BR>var arro = this.getAttribute('groupmaster '); <BR>var i = 0; <BR>while (i <BR>_setState(document.getElementById(arro[i])); >i ; <BR>} <BR>} <BR>} <BR>} <BR>i ; <BR>} <BR>関数 _setState (o){ <BR>var master = o; <BR>if(master!=null){ <BR>var chknosel = true; <BR>var groupmember = master.getAttribute('グループメンバー'); <BR>var i = 0; <BR>while(i<groupmember.length){ <BR>if(chkselall)chkselall = groupmember[i].checked; groupmember[i].checked; <BR>i ; <BR>} <BR>if(master.tagName.toLowerCase() == 'input'&&master.type=='checkbox'){ <BR>if (chkselall) { <br>master.indeterminate = false; <br>master.checked = true; <BR>if (chknosel) { <BR>master.indeterminate = false; 🎜>} <BR>if( !chkselall&&!chknosel)master.indeterminate = true; <BR>} <BR>else{ <BR>master.disabled = <BR>} <BR>} <BR>} <BR><BR>window.attachEvent ('onload',CheckboxGroup); <BR>