本帖最后由 FreeBot 于 2010-03-12 16:31:56 编辑

解决方案 »

  1.   

    哪位可以帮帮忙啊???????
    最好可以用jquery处理!谢谢!
      

  2.   

    遍历这列checkbox,在一个数组中记下所以被选中的ckeckbox在列表中的序号,比较数组中前一个和最后一个的差,如果大于1则说明两者之间有没被选中的,选中它们。如果数组是:[1]  没有下限,退出如果是[1,2] 差值为1,退出如果是:[1,4]  差值为3,则为1+1, 1+2 要被选中如果是:[1, 3, 6] 差值为5 则为1+1, 1+2(己选中,不操作), 1+3, 1+4, 要被选中
      

  3.   


    <style type="text/css">
    button{width:100px;height:30px;}
    table{width:400px;border:1px solid #006600;text-align:center;font-size:12px;}
    th{background-color:"#66CC00"}
    </style>
    <body>
    <button id="a">全选</button><button id="c">取消全选</button><button id="f">反选</button><button id="z">选中间区</button>
    <table>
    <tr><th>选框</th><th>角色详情</th><th>用户编号</th><th>用户姓名</th></tr>
    <tr><td><input type="checkbox" value="0"></td><td><A HREF="#">角色详情</A></td><td>000003</td><td></td></tr>
    <tr><td><input type="checkbox" value="1"></td><td><A HREF="#">角色详情</A></td><td>000004</td><td></td></tr>
    <tr><td><input type="checkbox" value="2"></td><td><A HREF="#">角色详情</A></td><td>000005</td><td></td></tr>
    <tr><td><input type="checkbox" value="3"></td><td><A HREF="#">角色详情</A></td><td>000006</td><td></td></tr>
    <tr><td><input type="checkbox" value="4"></td><td><A HREF="#">角色详情</A></td><td>000007</td><td></td></tr>
    <tr><td><input type="checkbox" value="5"></td><td><A HREF="#">角色详情</A></td><td>000008</td><td></td></tr>
    </table>
    <script type="text/javascript">
    <!--
    var $=function(o){return document.getElementById(o);},
    $n=function(o){return document.getElementsByTagName(o);};
    $("a").onclick=function(){
    var n=$n("input").length;
    for(var i=0;i<n;i++){$n("input")[i].checked=true;}
    };
    $("c").onclick=function(){ 
    var n=$n("input").length;
    for(var i=0;i<n;i++){$n("input")[i].checked=false;}
    };
    $("f").onclick=function(){ 
    var n=$n("input").length;
    for(var i=0;i<n;i++){$n("input")[i].checked=$n("input")[i].checked?false:true;}
    };
    $("z").onclick=function(){ 
    var arr=[],n=$n("input").length;
    for(var i=0;i<n;i++){if($n("input")[i].checked){arr.push(i);}}
    if(arr.length>=2){
    arr=arr.sort(function(a,b){return a-b});
    for(var j=arr[0];j<arr[arr.length-1];j++){$n("input")[j].checked=true;}
    }
    };
    -->
    </script>
      

  4.   

    非常感谢大家帮助!
    coderfanl可以和你交个朋友吗?向你学习!
    [email protected]
      

  5.   


    <script type="text/javascript" src="js/jquery.min.js"></script><input type="checkbox" name="chk[]" /><br/>
    <input type="checkbox" name="chk[]" /><br/>
    <input type="checkbox" name="chk[]" /><br/>
    <input type="checkbox" name="chk[]" /><br/>
    <input type="checkbox" name="chk[]" /><br/>
    <input type="checkbox" name="chk[]" /><br/>
    <input type="checkbox" name="chk[]" /><br/>
    <input type="checkbox" name="chk[]" /><br/>
    <input type="checkbox" name="chk[]" /><br/>
    <input type="checkbox" name="chk[]" /><br/><input type="button" value="between" id="btnBetween" />
    <script type="text/javascript">
    $(document).ready(function() { $("#btnBetween").click(function(){ var arr = new Array(); $("input[name='chk[]']").each(function(i){

    if($(this)[0].checked)
    {
    arr.push(i); //checked checkbox's index
    }
    }); if(arr.length != 2)
    {
    return; //
    }
    else{
    for(var i = arr[0] ; i < arr[1]; i++)
    {
    $("input[name='chk[]']")[i].checked = true;
    //alert(i);
    }
    }
    });
    });
    </script>偶无聊写了个简易的。今天感冒,居然写错个字半天没看出来。。
      

  6.   

    呵呵,太客气了,互相学习!
    [email protected]