javascript - 在多个复选框中选中全部或取消选中全部

标签 javascript jquery jquery-mobile

我有多个复选框的代码

HTML:

<fieldset data-role="collapsible">
    <legend>Pick one</legend>
    <div data-role="controlgroup" id="ZIBI" align="right" >
    </div>
</fieldset>

jQuery/JavaScript:

myArray1 = new Array(
           "1","2","3","4","5","6"
           );

 $("#ZIBI").html('');
           for (var i = 0; i < myArray1.length; i++) {
               row = myArray1[i];
               $("#ZIBI").append(
                   '<label for=' + row + '>' + row + '</label>' +
                   '<input type="checkbox" name="favcolor" id=' + row + ' value=' + row + '>');
           }
           $('#ZIBI').trigger('create');

如何通过按任意按钮选中全部或取消选中全部?

谢谢

最佳答案

在此JsFiddle您将找到一种方法来选中/取消选中给定 div 中的所有复选框,使用 id 为 _main 的复选框:

function checkAll(e){
    e = e || event;
    var from = e.target || e.srcElement
       ,cbs = this.querySelectorAll('input'), i=1;
    if (/^_main$/i.test(from.id)){
        for (;i<cbs.length;i+=1){
            cbs[i].checked = from.checked; 
        }
    } else {
      var main = document.querySelector('#_main')
         ,j = cbs.length;    
      for (;i<cbs.length;i+=1){
          j -= cbs[i].checked ? 0 : 1;
      }
      main.checked = j === cbs.length ? true : false;
    }
}

关于javascript - 在多个复选框中选中全部或取消选中全部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25322653/

相关文章:

javascript - 将 javascript 变量作为 hightcharts 系列数据传递时,Highcharts 不起作用

javascript - 为什么使用 $compile 会使工厂执行多次

javascript - 获取 根据每 15 分钟给定的数据和时间获取时段 jQuery

javascript - jQuery Intellisense 使用 $ 以外的东西

javascript - 通过使用 JavaScript 循环遍历数组元素来动态添加可折叠 div

JQuery Mobile 导航在 SSL 上损坏

javascript - 渐变/不透明度解决方法

javascript - 如何从 iframe 加载 jQuery 到其父页面

javascript - 带有 jQ​​uery Mobile 的 Android Phonegap - 后退按钮导致滚动到页面顶部

javascript - 我见过的最疯狂的 JavaScript 行为