Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何实施";选择全部";HTML中的复选框?_Javascript_Html_Checkbox_Selectall - Fatal编程技术网

Javascript 如何实施";选择全部";HTML中的复选框?

Javascript 如何实施";选择全部";HTML中的复选框?,javascript,html,checkbox,selectall,Javascript,Html,Checkbox,Selectall,我有一个带有多个复选框的HTML页面 我还需要一个名为“全选”的复选框。当我选中此复选框时,必须选中HTML页面中的所有复选框。我怎样才能做到这一点呢?JavaScript是最好的选择。下面的链接给出了一个使用按钮取消/全部选择的示例。您可以尝试将其调整为使用复选框,只需使用“全选”复选框的onClick属性 本页有一个更简单的示例 使用: HTML: 如果采用jQuery的顶级答案,请记住传递给click函数的对象是EventHandler,而不是原始的checkbox对象。因此,代码应该修

我有一个带有多个复选框的HTML页面


我还需要一个名为“全选”的复选框。当我选中此复选框时,必须选中HTML页面中的所有复选框。我怎样才能做到这一点呢?

JavaScript是最好的选择。下面的链接给出了一个使用按钮取消/全部选择的示例。您可以尝试将其调整为使用复选框,只需使用“全选”复选框的onClick属性

本页有一个更简单的示例

使用:

HTML:


如果采用jQuery的顶级答案,请记住传递给click函数的对象是EventHandler,而不是原始的checkbox对象。因此,代码应该修改如下

HTML

全部切换
条1
酒吧2
酒吧3
酒吧4
Javascript

$(function() {
    jQuery("[name=selectThemAll]").click(function(source) { 
        checkboxes = jQuery("[name=foo]");
        for(var i in checkboxes){
            checkboxes[i].checked = source.target.checked;
        }
    });
})


项目1 项目2 项目3 项目4 项目5 项目6 功能检查全部(obj1){ var checkboxCollection=document.getElementById(“”).getElementsByTagName('input'); 对于(var i=0;i
这里有一种不同的方法来减少代码

$(function () {
       $('#select-all').click(function (event) {
          
           var selected = this.checked;
           // Iterate each checkbox
           $(':checkbox').each(function () {    this.checked = selected; });

       });
    });
演示


$(文档).ready(函数(){
$('input[name=“all”],input[name=“title”]”)。绑定('click',function(){
var status=$(this).is(':checked');
$('input[type=“checkbox”]”,$(this.parent('li')).attr('checked',status);
});
});
  • 全部的
    • 标题01
      • 子标题01
      • 副标题02
      • 副标题03
      • 子标题04
    • 标题02
      • 副标题05
      • 子标题06
      • 副标题07
  • 
    函数do_this(){
    var复选框=document.getElementsByName('approve[]);
    var button=document.getElementById('toggle');
    如果(button.value==“选择”){
    用于(复选框中的var i){
    复选框[i]。选中='FALSE';
    }
    button.value='取消选择'
    }否则{
    用于(复选框中的var i){
    复选框[i]。选中=“”;
    }
    button.value='select';
    }
    }
    
    应该完成的工作:

        $(':checkbox').each(function() {
            this.checked = true;                        
        });
    

    我不确定是否有人没有这样回答(使用):


    它是干净的,没有循环或if/else子句,可以作为一个符咒使用。

    稍微改变了版本,它会礼貌地检查和取消检查

    $('#select-all').click(function(event) {
            var $that = $(this);
            $(':checkbox').each(function() {
                this.checked = $that.is(':checked');
            });
        });
    

    调用
    document.getElementsByName(“名称”)
    时,将得到一个
    对象。使用
    .item(index)
    遍历
    对象的所有项

    HTML:

    
    ​
    ​
    ​
    ​
    ​
    ​
    ​
    ​
    ​
    
    试试这个简单的JQuery:

    $('#select-all').click(function(event) {
      if (this.checked) {
        $(':checkbox').prop('checked', true);
      } else {
        $(':checkbox').prop('checked', false);
      }
    });
    

    使用jQuery和knockout:

    如果此绑定主复选框与参考底图复选框保持同步,则除非选中所有复选框,否则将取消选中该复选框

    ko.bindingHandlers.allChecked = {
      init: function (element, valueAccessor) {
        var selector = valueAccessor();
    
        function getChecked () {
          element.checked = $(selector).toArray().every(function (checkbox) {
            return checkbox.checked;
          });
        }
    
        function setChecked (value) {
          $(selector).toArray().forEach(function (checkbox) {
            if (checkbox.checked !== value) {
              checkbox.click();
            }
          });
        }
    
        ko.utils.registerEventHandler(element, 'click', function (event) {
          setChecked(event.target.checked);
        });
    
        $(window.document).on('change', selector, getChecked);
    
        ko.utils.domNodeDisposal.addDisposeCallback(element, () => {
          $(window.document).off('change', selector, getChecked);
        });
    
        getChecked();
      }
    };
    
    在html中:

    <input id="check-all-values" type="checkbox" data-bind="allChecked: '.checkValue'"/>
    <input id="check-1" type="checkbox" class="checkValue"/>
    <input id="check-2" type="checkbox" class="checkValue"/>
    

    我很惊讶没有人提到。纯JavaScript解决方案,适用于IE9+

    功能切换(源代码){
    var checkbox=document.querySelectorAll('input[type=“checkbox”]”);
    对于(变量i=0;i
    全部检查?
    条1
    酒吧2
    酒吧3

    Bar 4
    此示例适用于本机JavaScript,其中复选框变量名称不同,即并非所有的“foo”

    
    切换复选框

    <script language="JavaScript">
      function toggleCheckboxes(source, cbName) {
        checkboxes = document.getElementsByName(cbName);
        for (var i = 0, n = checkboxes.length; i < n; i++) {
          checkboxes[i].checked = source.checked;
        }
      }
    </script>
    
    函数getcheckbox(){ var node_list=document.getElementsByTagName('input'); var复选框=[]; 对于(变量i=0;i 酒吧2
    酒吧3
    酒吧4
    全部切换

    我的简单解决方案允许有选择地选择/取消选择表单给定部分中的所有复选框,同时为每个复选框使用不同的名称,以便在表单发布后可以轻松识别它们

    Javascript:

    function setAllCheckboxes(divId, sourceCheckbox) {
        divElement = document.getElementById(divId);
        inputElements = divElement.getElementsByTagName('input');
        for (i = 0; i < inputElements.length; i++) {
            if (inputElements[i].type != 'checkbox')
                continue;
            inputElements[i].checked = sourceCheckbox.checked;
        }
    }
    
    函数设置所有复选框(divId,sourceCheckbox){
    divElement=document.getElementById(divId);
    inputElements=divElement.getElementsByTagName('input');
    对于(i=0;i
    HTML示例:

    <p><input onClick="setAllCheckboxes('actors', this);" type="checkbox" />All of them</p>
    <div id="actors">
        <p><input type="checkbox" name="kevin" />Spacey, Kevin</p>
        <p><input type="checkbox" name="colin" />Firth, Colin</p>
        <p><input type="checkbox" name="scarlett" />Johansson, Scarlett</p>
    </div>
    
    所有这些

    斯派西,凯文

    科林湾

    约翰逊,斯佳丽


    我希望你喜欢

    下面是一个backbone.js实现:

    events: {
        "click #toggleChecked" : "toggleChecked"
    },
    toggleChecked: function(event) {
    
        var checkboxes = document.getElementsByName('options');
        for(var i=0; i<checkboxes.length; i++) {
            checkboxes[i].checked = event.currentTarget.checked;
        }
    
    },
    
    事件:{
    “单击#切换选中”:“切换选中”
    },
    toggleChecked:函数(事件){
    var复选框=document.getElementsByName('options');
    对于(var i=0;i简单且切中要害:

    jQuery-单击按钮、div或标签元素时。勾选页面上的所有复选框。请记住,您必须调整:复选框以使其更具体

    jQuery("#My-Button").click(function() {
    
      jQuery(':checkbox').each(function() {
        if(this.checked == true) {
          this.checked = false;                        
        } else {
          this.checked = true;                        
        }      
      });
    
    });
    
    html


    1:添加onchange事件处理程序

    <th><INPUT type="checkbox" onchange="checkAll(this)" name="chk[]" /> </th>
    
    
    
    2:修改代码以处理选中/未选中

     function checkAll(ele) {
         var checkboxes = document.getElementsByTagName('input');
         if (ele.checked) {
             for (var i = 0; i < checkboxes.length; i++) {
                 if (checkboxes[i].type == 'checkbox') {
                     checkboxes[i].checked = true;
                 }
             }
         } else {
             for (var i = 0; i < checkboxes.length; i++) {
                 console.log(i)
                 if (checkboxes[i].type == 'checkbox') {
                     checkboxes[i].checked = false;
                 }
             }
         }
     }
    
    $("#select-all").change(function(){
       $(".allcheckbox").prop("checked", $(this).prop("checked"))
      })
      $(".allcheckbox").change(function(){
          if($(this).prop("checked") == false){
              $("#select-all").prop("checked", false)
          }
          if($(".allcheckbox:checked").length == $(".allcheckbox").length){
              $("#select-all").prop("checked", true)
          }
      })
    
    功能检查全部(ele){
    var复选框=document.getElementsByTagName('input');
    如果(勾选元素){
    对于(变量i=0;i<input id="check-all-values" type="checkbox" data-bind="allChecked: '.checkValue'"/>
    <input id="check-1" type="checkbox" class="checkValue"/>
    <input id="check-2" type="checkbox" class="checkValue"/>
    
    function setAllCheckboxes(divId, sourceCheckbox) {
        divElement = document.getElementById(divId);
        inputElements = divElement.getElementsByTagName('input');
        for (i = 0; i < inputElements.length; i++) {
            if (inputElements[i].type != 'checkbox')
                continue;
            inputElements[i].checked = sourceCheckbox.checked;
        }
    }
    
    <p><input onClick="setAllCheckboxes('actors', this);" type="checkbox" />All of them</p>
    <div id="actors">
        <p><input type="checkbox" name="kevin" />Spacey, Kevin</p>
        <p><input type="checkbox" name="colin" />Firth, Colin</p>
        <p><input type="checkbox" name="scarlett" />Johansson, Scarlett</p>
    </div>
    
    events: {
        "click #toggleChecked" : "toggleChecked"
    },
    toggleChecked: function(event) {
    
        var checkboxes = document.getElementsByName('options');
        for(var i=0; i<checkboxes.length; i++) {
            checkboxes[i].checked = event.currentTarget.checked;
        }
    
    },
    
    jQuery("#My-Button").click(function() {
    
      jQuery(':checkbox').each(function() {
        if(this.checked == true) {
          this.checked = false;                        
        } else {
          this.checked = true;                        
        }      
      });
    
    });
    
    <input class='all' type='checkbox'> All
    <input class='item' type='checkbox' value='1'> 1
    <input class='item' type='checkbox' value='2'> 2
    <input class='item' type='checkbox' value='3'> 3
    
    $(':checkbox.all').change(function(){
      $(':checkbox.item').prop('checked', this.checked);
    });
    
    <th><INPUT type="checkbox" onchange="checkAll(this)" name="chk[]" /> </th>
    
     function checkAll(ele) {
         var checkboxes = document.getElementsByTagName('input');
         if (ele.checked) {
             for (var i = 0; i < checkboxes.length; i++) {
                 if (checkboxes[i].type == 'checkbox') {
                     checkboxes[i].checked = true;
                 }
             }
         } else {
             for (var i = 0; i < checkboxes.length; i++) {
                 console.log(i)
                 if (checkboxes[i].type == 'checkbox') {
                     checkboxes[i].checked = false;
                 }
             }
         }
     }
    
    <input type='checkbox' id='select_all_invoices' onclick="selectAll()"> Select All
    
    <input type='checkbox' class='check_invoice' id='check_123' name='check_123' value='321' />
    <input type='checkbox' class='check_invoice' id='check_456' name='check_456' value='852' />
    
        function selectAll() {
            var blnChecked = document.getElementById("select_all_invoices").checked;
            var check_invoices = document.getElementsByClassName("check_invoice");
            var intLength = check_invoices.length;
            for(var i = 0; i < intLength; i++) {
                var check_invoice = check_invoices[i];
                check_invoice.checked = blnChecked;
            }
        }
    
    $('.checkall').click(function(){
        var checked = $(this).prop('checked');
        $('.checkme').prop('checked', checked);
    });
    
    <input type="checkbox" id="chkSelectAll">
    
    <input type="checkbox" class="chkDel">
    <input type="checkbox" class="chkDel">
    <input type="checkbox" class="chkDel">
    
    $("#chkSelectAll").on('click', function(){
         this.checked ? $(".chkDel").prop("checked",true) : $(".chkDel").prop("checked",false);  
    })
    
    // HANDLES THE INDIVIDUAL CHECKBOX CLICKS
    function client_onclick() {
        var selectAllChecked = $("#chk-clients-all").prop("checked");
    
        // IF CHECK ALL IS CHECKED, AND YOU'RE UNCHECKING AN INDIVIDUAL BOX, JUST UNCHECK THE CHECK ALL CHECKBOX.
        if (selectAllChecked && $(this).prop("checked") == false) {
            $("#chk-clients-all").prop("checked", false);
        } else { // OTHERWISE WE NEED TO LOOP THROUGH INDIVIDUAL CHECKBOXES AND SEE IF THEY ARE ALL CHECKED, THEN CHECK THE SELECT ALL CHECKBOX ACCORDINGLY.
            var allChecked = true;
            $(".client").each(function () {
                allChecked = $(this).prop("checked");
                if (!allChecked) {
                    return false;
                }
            });
            $("#chk-clients-all").prop("checked", allChecked);
        }
    }
    
    // HANDLES THE TOP CHECK ALL CHECKBOX
    function client_all_onclick() {
        $(".client").prop("checked", $(this).prop("checked"));
    }
    
    $("#select-all").change(function(){
       $(".allcheckbox").prop("checked", $(this).prop("checked"))
      })
      $(".allcheckbox").change(function(){
          if($(this).prop("checked") == false){
              $("#select-all").prop("checked", false)
          }
          if($(".allcheckbox:checked").length == $(".allcheckbox").length){
              $("#select-all").prop("checked", true)
          }
      })
    
    <script language="JavaScript">
      function toggleCheckboxes(source, cbName) {
        checkboxes = document.getElementsByName(cbName);
        for (var i = 0, n = checkboxes.length; i < n; i++) {
          checkboxes[i].checked = source.checked;
        }
      }
    </script>
    
    <input type="checkbox" onClick="toggleCheckboxes(this,\'foo\')" /> Toggle All<br/>
    
    <input type="checkbox" name="foo" value="bar1"> Bar 1<br/>
    <input type="checkbox" name="foo" value="bar2"> Bar 2<br/>
    <input type="checkbox" name="foo" value="bar3"> Bar 3<br/>
    <input type="checkbox" name="foo" value="bar4"> Bar 4<br/>
    <input type="checkbox" name="foo" value="bar5"> Bar 5<br/>
    
    $(document).ready(function() {
      $('#check-all').click(function(){
        $("input:checkbox").attr('checked', true);
      });
      $('#uncheck-all').click(function(){
        $("input:checkbox").attr('checked', false);
      });
    });
    
    
    <a id="check-all" href="javascript:void(0);">check all</a>
    <a id="uncheck-all" href="javascript:void(0);">uncheck all</a> 
    
    <script type="text/javascript">
    function checkAll(formname, checktoggle)
    {
      var checkboxes = new Array(); 
      checkboxes = document[formname].getElementsByTagName('input');
    
      for (var i=0; i<checkboxes.length; i++)  {
        if (checkboxes[i].type == 'checkbox')   {
          checkboxes[i].checked = checktoggle;
        }
      }
    }
    </script>
    
    <button onclick="javascript:checkAll('form3', true);" href="javascript:void();">check all</button>
    
    <button onclick="javascript:checkAll('form3', false);" href="javascript:void();">uncheck all</button>
    
    
    var checkbox = document.getElementById("dlCheckAll4Delete");
    checkbox.addEventListener("click", function (event) {
      let checkboxes = document.querySelectorAll(".dlMultiDelete");
      checkboxes.forEach(function (ele) {
        ele.checked = !!checkbox.checked;
      });
    });