四个复选框 一个提交按钮,我想问问 选择value=ck4的时候 全部选上 当 value=ck3的时候value=ch3 value=ck2 value=ck1的checkboxe被选上 当value=ck2的时候同理 我想根据 checkbox的value值来判断,不根据checkbox是第几个来判定,因为在我那个程序里 checkbox的位置是不固定了 是会变的 所以我想只能根据value来判定吧 求大侠指点 用Jquery或者JS都行,我今天自己用juqery写了,我是就是根据根据我上面说的条件判定的虽然能实现但有问题 取消选择的时候只能从第四个开始取消 求大侠们指教指教
<input type="checkbox" name="CHK" value="ck1"/>
<input type="checkbox" name="CHK" value="ck2"/>
<input type="checkbox" name="CHK" value="ck3"/>
<input type="checkbox" name="CHK" value="ck4"/>

解决方案 »

  1.   

    给点力好不好,结帐率太低了。<input type="checkbox" name="CHK" value="ck3"/>3
    <input type="checkbox" name="CHK" value="ck4"/>4
    <input type="checkbox" name="CHK" value="ck1"/>1
    <input type="checkbox" name="CHK" value="ck2"/>2
    .............以下只是测试
    <input type="checkbox" name="CHK" value="ck5"/>5
    <input type="checkbox" name="CHK" value="ck6"/>6
    <input type="checkbox" name="CHK" value="ck7"/>7
    <script type="text/javascript">
    var chk=document.getElementsByName("CHK");
        for(var i=0;i<chk.length;i++){
            (function(n){
                chk[n].onclick=function(){
                    var i=this.value.replace(/[^\d]/g,"");
                    for(var l=0;l<chk.length;l++){
                        var b=chk[l].value.replace(/[^\d]/g,"");
                        if(this.checked&&i>b){
                            chk[l].checked=true;
                        }
                        if(!this.checked&&i<b){
                            chk[l].checked=false;
                        }
                    }
                }
            })(i);
        }
    </script>
      

  2.   

    这个问题貌似以前有人问过啊,楼主以下代码试试,这是我以前帮别人写的,希望对你有所帮助。<!DOCTYPE html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>test</title><script type="text/javascript" src="jquery-1.7.2.min.js"></script>
    <script language="javascript">
    $(function(){
    $(':checkbox').click(function(){
    //获取当前点击复选框前面的同辈复选框元素的个数
    var count = $(this).prevAll(':checkbox').size();
    if($(this).get(0).checked){
    for(var i = 0;i < count;i++){
    $(':checkbox').get(i).checked = true;
    }
    }
    });
    })
    </script>
    </head>
    <body>
      <input type="checkbox"  />one
      <input type="checkbox"  />two
      <input type="checkbox"  />three
      <input type="checkbox"  />four
    </body>
    </html>
      

  3.   

    var chk=document.getElementsByName("CHK");//获取对象数组
        for(var i=0;i<chk.length;i++){//循环对象数组
            (function(n){//使用闭包函数
                chk[n].onclick=function(){//对象点击事件
                    var i=this.value.replace(/[^\d]/g,"");//获取本身value中的数字
                    for(var l=0;l<chk.length;l++){//循环对象数组
                        var b=chk[l].value.replace(/[^\d]/g,"");//获取对象value中的数字
    下面是判断本身是否已经选中,并且判断value中数字大小,这没有特别难懂的东西吧。
                        if(this.checked&&i>b){
                            chk[l].checked=true;
                        }
                        if(!this.checked&&i<b){
                            chk[l].checked=false;
                        }
                    }
                }
            })(i);
        }