我有很多很多的checkbox (几百个)我已经做了个全选按钮,但因为一些原因我想对全选进行一个设置,设置最多能选取的checkbox个数,大概30个左右checkbox 的每个都有自己唯一的ID  但没有规律我要怎么选取所有checkbox中的1-30  and  31-60  ? jquery选择器

解决方案 »

  1.   

    你可以吧前30个放在一个div里然后对这个div里的全选就行了
      

  2.   

    $("input[type='checkbox']").slice(0, 30);
    $("input[type='checkbox']").slice(30, 60);
      

  3.   

    额 我API用的是 JQuery-esqyUI中文-1.2.5API.CHM  搜了下没找到  
    我再找找看~~
    我的checkbox是后台循环, 先弄个表,然后把checkbox放到cell里面 每行就显示5个的样子 
    因为相对的名称比较长,分区有想过,不过貌似没法子,数据上貌似没有可以提供分区的依据
    试着下了下貌似不行俺贴个图
    大概长这样
      

  4.   

    我写了个,但是选中没问题,取消就有问题了,if语句判断条件该设成什么?还是有没有快捷的其他方法?求指教!  <script>
      $(function(){
       $("#btn1").click(function(){
    var btns=$("input[type='checkbox']").slice(0,30);
    for(var i=0; i<btns.length; i++)
    {
    if(btns.not("input:checked"))
    {btns.eq(i).attr("checked","checked");}
    else 
    {btns.eq(i).attr("","checked");}
    }
    });
    $("#btn2").click(function(){
    var btns=$("input[type='checkbox']").slice(30,60);
    for(var i=0; i<btns.length; i++)
    {
    if(btns.not("input:checked"))
    {btns.eq(i).attr("checked","checked");}
    else 
    {btns.eq(i).attr("checked","");}
    }
    });
      });
      
      </script>
      

  5.   

    我写了个,但是选中没问题,取消就有问题了,if语句判断条件该设成什么?还是有没有快捷的其他方法?求指教!  <script>
      $(function(){
       $("#btn1").click(function(){
    var btns=$("input[type='checkbox']").slice(0,30);
    for(var i=0; i<btns.length; i++)
    {
    if(btns.not("input:checked"))
    {btns.eq(i).attr("checked","checked");}
    else 
    {btns.eq(i).attr("","checked");}
    }
    });
    $("#btn2").click(function(){
    var btns=$("input[type='checkbox']").slice(30,60);
    for(var i=0; i<btns.length; i++)
    {
    if(btns.not("input:checked"))
    {btns.eq(i).attr("checked","checked");}
    else 
    {btns.eq(i).attr("checked","");}
    }
    });
      });
      
      </script>取消应该是因为checked是个属性  我之前有做个全选 和取消全选,  取消是用remove做的 
      

  6.   

    我写了个,但是选中没问题,取消就有问题了,if语句判断条件该设成什么?还是有没有快捷的其他方法?求指教!  <script>
      $(function(){
       $("#btn1").click(function(){
    var btns=$("input[type='checkbox']").slice(0,30);
    for(var i=0; i<btns.length; i++)
    {
    if(btns.not("input:checked"))
    {btns.eq(i).attr("checked","checked");}
    else 
    {btns.eq(i).attr("","checked");}
    }
    });
    $("#btn2").click(function(){
    var btns=$("input[type='checkbox']").slice(30,60);
    for(var i=0; i<btns.length; i++)
    {
    if(btns.not("input:checked"))
    {btns.eq(i).attr("checked","checked");}
    else 
    {btns.eq(i).attr("checked","");}
    }
    });
      });
      
      </script>
    非常感谢  后面俺自个改就好了  结贴给分
      

  7.   

    可以实现单击选取30个或者取消之前选取的元素                      var btns = $("input[type='checkbox']").slice(0, 30); 
                      //  alert(btns.length);
                        var btns1 = $("input[type='checkbox']:checked");
                        alert(btns1.length)
                        if (btns1.length > 0) {
                            for (var i = 0; i < btns1.length; i++) {
                                //  alert(btns1.eq(i).attr("id"))
                                btns1.eq(i).removeAttr("checked");
                            }
                        }
                        else {
                            for (var i = 0; i < btns.length; i++) {
                                if (btns.eq(i).attr("checked") == "checked") {
                                    btns.eq(i).attr("checked", "");
                                    break;
                                }
                                if (btns.not("input:checked"))
                                { btns.eq(i).attr("checked", true); }
                                else
                                { btns.eq(i).removeAttr("checked"); }
                            }
                        }