jquery checkall复选框加上重置

时间:2012-08-08 01:42:32

标签: php javascript jquery

我使用以下jquery来实现在php页面中检查所有效果: -

<script>
$(function(){
    $("#checkall").click(function(){
        if($("#checkall").attr('checked')){
            $(".department").attr('checked', true);
        }else{
            $(".department").attr('checked', false);
        }
    });
});
</script>

<input type="checkbox" id="checkall" name="check_all" />

<input type="checkbox" name="department[]" class="department" value=""  checked = "checked"/>

并检查所有并取消选中所有效果正常。但是,它不适用于表单中的重置按钮。我该如何修改jquery?谢谢!

3 个答案:

答案 0 :(得分:1)

试试此演示:http://jsfiddle.net/JCWaT/

我在这里的旧回复:checkbox check all option

希望符合需要:)

或根据您的需要 http://jsfiddle.net/kJCcP/

<强>码

$('input[name="Company"],input[name="Country"]').click(function(){

          $(this).nextAll('input[name="'+this.name+'Sub"]').prop('checked',this.checked);

});
​

$('#checkall').click(function() {

    $(this).nextAll('.department').prop('checked', this.checked);

});​

答案 1 :(得分:1)

使用.prop代替.attr,请参阅 the working demo

$(function(){
    $("#checkall").click(function(){
        if($(this).prop('checked')){
            $(".department").prop('checked', true);
        }else{
            $(".department").prop('checked', false);
        }
    });
});​

你的代码甚至可能很短:

$(function(){
    $("#checkall").click(function(){
        $(".department").prop('checked', $(this).prop('checked'));
    });
});​

答案 2 :(得分:1)

$("#checkall").click(function(){
    $(".department").prop('checked', $(this).is(':checked') ); 
});

The jQuery .prop() docs有一节描述为什么应该使用它而不是操纵属性。