如何在for循环中获取checked元素的值

时间:2009-10-19 15:57:57

标签: jquery ajax for-loop

我正在努力获取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循环中获取已检查项目的值?

由于

4 个答案:

答案 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");
  });
});