选择selectAll时如何选择复选框的所有值?

时间:2011-03-23 06:03:17

标签: php javascript jquery

我正在尝试获取所选复选框的所有id值。当用户点击“selectAll”时,会检查所有复选框,但我无法获得其各自的值。知道我做错了吗?

这是jQuery:

        $(".selectAll").unbind("click").click(function(e){//needs work here
        var bool = $(this).is(":checked"); //gets whether selected or not
        var list = new Array();

        $(function(){
            $("input:checkbox").attr("checked", bool);

            if(bool == true){
            $.each((".delID :checked"),function(){
                list.push( $(this).val());
                alert( $(this).val());
            }); }
        });
    }); //END of needs work area.

这是html:

<form name="selectDelete" class="selectDelete">
<table id="inboxTable" class="txt13" width="800px">
<tr><th align="left" style="text-decoration:underline"><input type="checkbox" name="selectAll" class="selectAll"/></th>
    <th style="text-decoration:underline">To</th><td width="20px"></td>
    <th style="text-decoration:underline">Subject
    </th><td width="20px"></td>
    <th style="text-decoration:underline">Date</th><td width="20px"></td>
    <th style="text-decoration:underline">Action</th></tr>

<?php while($info=mysql_fetch_array($result)){
    $id = $info['id']; ?>

    echo "<tr>
            <td width="20px"><input type="checkbox" name="delID" class="delID" value="'.$id.'"/></td>";

对于那些遇到类似问题的人来说,这就是我最终为使代码工作所做的事情:

                if(bool == true){
            $(".delID").each(function(index,element){ 
                //list.push( $(this).val());
                alert(index + " " + $(this).val());
            }); }

在我的情况下,如果'bool == true',那么总是会检查所有复选框,这就是为什么只使用.delID而不是.delID:checked为我工作的原因。 感谢所有人的投入。

1 个答案:

答案 0 :(得分:0)

您可以使用此代码:

$(".delID:checked").each(function(){
    list.push( $(this).val());
    alert( $(this).val());
});

http://jsfiddle.net/ynhat/daQSM/