0

我正在使用以下 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?谢谢!

4

3 回答 3

1

试试这个演示:http: //jsfiddle.net/JCWaT/

我在这里的旧回复:复选框选中所有选项

希望符合需要:)

或满足您的需要 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);

});​
于 2012-08-08T01:46:31.760 回答
1

.prop改为使用.attr,请参阅工作演示

$(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'));
    });
});​
于 2012-08-08T01:47:57.660 回答
1
$("#checkall").click(function(){
    $(".department").prop('checked', $(this).is(':checked') ); 
});

jQuery.prop()文档有一个部分描述了为什么应该使用它而不是操作属性。

于 2012-08-08T01:48:25.290 回答