我正在努力获取checked元素的每个值并将它们发布到php。 但它只获得一个已检查项目的第一个值。
这是
$("#conf").click(function(){
var count = $("input:checked").length;
for(i = 0; i < count; i++) {
a = $("input:checked").val();
$.post("reqs.php?act=confirm", { ID: a }, function(data) { });
$('#'+a).parents(".req")
.animate({ backgroundColor: "#fbc7c7" }, "fast")
.animate({ opacity: "hide" }, "slow");
}
});
和HTML
<?php while ($info = mysql_fetch_assoc($result)) { ?>
<tr class="req">
<td style="width: 29px">
<input name="confirm" type="checkbox" id="<?php echo $info['ID']; ?>" value="<?php echo $info['ID']; ?>" />
</td>
<td style="width: 70px" class="style5"><?php echo $info['email']; ?></td>
<td style="width: 72px" class="style5"><?php echo $info['name']; ?></td>
<td style="width: 88px" class="style5"><?php echo $info['username']; ?></td>
<td style="width: 76px" class="style5"><?php echo $info['country']; ?></td>
<td style="width: 76px" class="style5"><?php echo $info['bus']; ?></td>
<td style="width: 67px" class="style5"><?php echo $info['website']; ?></td>
<td style="width: 97px" class="style5"><?php echo $info['music']; ?></td>
<td style="width: 78px" class="style5"><?php echo $info['radio']; ?></td>
</tr>
<?php } ?>
如何在for循环中获取已检查项目的值?
由于
答案 0 :(得分:1)
$("input:checked").each(function() {
alert($(this).val());
});
答案 1 :(得分:1)
您应该遍历所有已检查的元素,您可以使用$.each,然后将结果添加到对象并将该对象发布到服务器:
$("#conf").click(function(){
var data = {};
$('input:checked').each(function () {
var el = $(this);
data[el.attr('id')] = el.val();
});
$.post("reqs.php?act=confirm", data, function(response) { });
});
数据对象将由包含已检查元素的ID /值的键/值对形成。
答案 2 :(得分:1)
更改
a = $("input:checked").val();
到
a = $("input:checked").eq(i).val();
这将为您获取每个后续项目的值。
使用Firebug! :)
答案 3 :(得分:0)
更好的是,让jQuery的魔力为你服务:
$("#conf").click(function(){
$("input:checked").each(){
var a = $(this).val();
$.post("reqs.php?act=confirm", { ID: a }, function(data) { });
$('#'+a).parents(".req")
.animate({ backgroundColor: "#fbc7c7" }, "fast")
.animate({ opacity: "hide" }, "slow");
});
});