我想问一下checkbox / uncheckbox all

时间:2016-06-22 03:35:08

标签: javascript ajax checkbox

我想在取消选中checkbok时取消选中“全部”复选框

 $('#All').click(function () {
        var status = $(this).is(":checked");
        if (status) {
            $.each($('input[name="checkbox"]'), function () {
                this.checked = true;
            })
            $('input[name="checkbox"]').attr("checked", "checked");

        } else {
            $('input[name="checkbox"]').removeAttr("checked");
            $.each($('input[name="checkbox"]:checked'), function () {
                this.checked = false;
            })
        }

    })

enter image description here

5 个答案:

答案 0 :(得分:1)

尝试使用此



$(".all").click(function() 
{
var el=this;
  $(".child").each(function(){    
   $(this).prop("checked",$(el).prop("checked"))   ;
    });
    
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox"  class="all"/>All
<input type="checkbox" class="child"/>one
<input type="checkbox"  class="child"/>two
<input type="checkbox"  class="child"/>three
<input type="checkbox"  class="child"/>four
&#13;
&#13;
&#13;

答案 1 :(得分:0)

简单的Javascript:

document.getElementById('All').addEventListener('click', function(event) {
    var checkboxes = document.querySelectorAll('input[name="checkbox"]');
    Array.from(checkboxes).forEach(checkbox => {
        checkbox.checked = this.checked;
    });
});

答案 2 :(得分:0)

要获得预期的resule,请使用以下选项

Check All:
('input[type="checkbox"]').prop("checked", "checked");

Uncheck All:
$('input[type="checkbox"]').removeAttr("checked");

$(&#39;#All&#39;)。click(function(){       var status = $(this).is(&#34;:checked&#34;);       if(status){         $(&#39;输入[type =&#34;复选框&#34;]&#39;)。道具(&#34;已检查&#34;,&#34;已检查&#34;);

  } else {
    $('input[type="checkbox"]').removeAttr("checked");
  }
});

http://codepen.io/nagasai/pen/ezBvyG

答案 3 :(得分:0)

Try with this :
HTML code :

<input type="button" class="check" value="check all" />
<input type="checkbox" class="cb-element" /> Checkbox  1
<input type="checkbox" class="cb-element" /> Checkbox  2
<input type="checkbox" class="cb-element" /> Checkbox  3

jquery code :
$(document).ready(function(){
    $('.check:button').toggle(function(){
        $('input:checkbox').attr('checked','checked');
        $(this).val('uncheck all')
    },function(){
        $('input:checkbox').removeAttr('checked');
        $(this).val('check all');        
    })
})
Hope you get your point.

答案 4 :(得分:0)

我发现$('input[name="checkbox"]').attr("checked", "checked");无法将所有复选框更改为已选中。使用prop()代替.attr()

 $('#All').click(function () {
        var status = $(this).is(":checked");        
        if (status) {
            $('input:checkbox').prop("checked", "checked");
        } else {
            $('input:checkbox').removeAttr("checked");
        }

    });