JSコントロールチェックボックスは個数及びグループを制限します.
9618 ワード
var limit = 3,num = 0;
function check(obj) {
obj.checked?num++:num--;
if(num > limit){
obj.checked = false;
alert(" 3 ");
num--;
}
};
htmlコード:type="checkbox" name="check1" id="" onclick="check(this)">
type="checkbox" name="check1" id="" onclick="check(this)">
type="checkbox" name="check1" id="" onclick="check(this)">
type="checkbox" name="check1" id="" onclick="check(this)">
type="checkbox" name="check1" id="" onclick="check(this)">
type="checkbox" name="check1" id="" onclick="check(this)">
短所:各チェックボックスは、clickイベントを追加する必要があります.方法の多重性が良くなく、チェックボックスのグループ化ができません.function autoCheck(name,limit){
var cks = document.getElementsByName(name);
function check() {
var checkedNum = 0;
for (var i = 0,len = cks.length; i < len ;i++) {
if(cks[i].checked) checkedNum++;
if(checkedNum > limit) {
return false;
}
}
return true;
}
for (var i = 0,len = cks.length; i < len ;i++) {
cks[i].onclick = function (){
if(!check()){
alert(" "+limit+" ");
this.checked = false;
}
}
}
};
autoCheck("check1",3);
autoCheck("check2",3);
htmlコード:<p>name= check1p>
<input type="checkbox" name="check1" id=""> <br />
<input type="checkbox" name="check1" id=""> <br />
<input type="checkbox" name="check1" id=""> <br />
<input type="checkbox" name="check1" id=""> <br />
<input type="checkbox" name="check1" id=""> <br />
<input type="checkbox" name="check1" id=""> <br />
<p>name= check2p>
<input type="checkbox" name="check2" id=""> <br />
<input type="checkbox" name="check2" id=""> <br />
<input type="checkbox" name="check2" id=""> <br />
<input type="checkbox" name="check2" id=""> <br />
<input type="checkbox" name="check2" id=""> <br />
<input type="checkbox" name="check2" id=""> <br />
特徴:name属性に従って、チェックボックスをグループ化し、それぞれのグループのオプション数を設定できます.