0

我希望在选中一个复选框时选中所有其他复选框

我使用了这段代码:

html:

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

<input type="checkbox" name="rows[]" value="<?php echo $aut["aut_id"]; ?>" class="checkrow" />
<input type="checkbox" name="rows[]" value="<?php echo $aut["aut_id"]; ?>" class="checkrow" />
<input type="checkbox" name="rows[]" value="<?php echo $aut["aut_id"]; ?>" class="checkrow" />
<input type="checkbox" name="rows[]" value="<?php echo $aut["aut_id"]; ?>" class="checkrow" />
<input type="checkbox" name="rows[]" value="<?php echo $aut["aut_id"]; ?>" class="checkrow" />

jQuery:

        <script type="text/javascript">
            jQuery(document).ready(function(){                

                jQuery("#checkall").click(function () {
                    if(jQuery("#checkall").prop("checked") == true) {
                        jQuery(".checkrow").prop("checked", true);
                    }else{
                        jQuery(".checkrow").prop("checked", false);
                    }


                });
            });            
        </script>

现在,这工作正常,但我想问还有另一种最简单或更直接的方法吗?

特别是我使用了这段代码,但它没有用,我想知道是什么原因??

<script type="text/javascript">
        jQuery(document).ready(function(){

            jQuery("#checkall").click(function() {  
                jQuery(".checkrow").toggle(function() {                        
                   jQuery(this).attr("checked", "checked");
                }, function() {                        
                   jQuery(this).removeAttr("checked");
                });            
           });
        });            
    </script>
4

4 回答 4

0

为什么不

jQuery(function($){                
    $("#checkall").click(function () {
        $(".checkrow").prop("checked", this.checked);
    });
}); 
于 2013-06-24T09:28:05.370 回答
0

最简单的方法,

<input type="checkbox" name="checkall" id="checkall" onclick="$('input[type=checkbox][name^=rows]').attr('checked',this.checked)">
于 2013-06-24T09:28:35.237 回答
0

看看这个函数:

function toggleChecked(status) {
   $("INPUT[type='checkbox']").each( function() {
   $(this).attr("checked",status);
})

这会将页面上的所有复选框设置为status

于 2013-06-24T09:27:20.727 回答
0
jQuery(document).ready(function(){                
                jQuery("#checkall").click(function (e) {
                    jQuery(".checkrow").prop("checked", e.target.checked);
                });
});      
于 2013-06-24T09:34:23.870 回答