我正在尝试获取所选复选框的所有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为我工作的原因。 感谢所有人的投入。
答案 0 :(得分:0)
您可以使用此代码:
$(".delID:checked").each(function(){
list.push( $(this).val());
alert( $(this).val());
});