怎么用js控制checkbox的限制呢?比如说有10个checkbox,id号分别是1到10 ,我只能最多同时选择2个,我先选择1,然后选择2,当我选择5的时候,2的状态变为未选中,此刻应该是选择1和5了,当我再选择8的时候,5的状态改为未选中,此刻就是1和8选中了,也就是说,选择两个以后,在选择第三个的时候,上一个选中的checkbox就变为未选中状态,这个用js怎么控制呢?试了好多方法都没有实现 

解决方案 »

  1.   

    选中checkbox时,判断当前已选中的checkbox的数量,如果大于2就把中间的那个取消选中
      

  2.   


    <input type="checkbox" name="chk" value="0"/>1
    <input type="checkbox" name="chk" value="1"/>2
    <input type="checkbox" name="chk" value="2"/>3
    <input type="checkbox" name="chk" value="3"/>4
    <input type="checkbox" name="chk" value="4"/>5
    <input type="checkbox" name="chk" value="5"/>6
    <input type="checkbox" name="chk" value="6"/>7
    <script type="text/javascript">
    <!--
    var arr = [];
    (function(){
    var ochk = document.getElementsByName('chk');
    for(var i = 0, len = ochk.length; i < len; i++){
    ochk[i].onclick = function(){
    if(this.checked){
    if(arr.length >= 2){
    ochk[arr[1]].checked = false;
    arr[1] = this.value;
    }else{
    arr.push(this.value);
    }
    }else{
    arr.shift();
    }
    }
    }
    })();
    //-->
    </script>