2009-10-19 25 views
0

我正在努力獲取checked元素的每個值並將它們發佈到php。 但它只獲得一個檢查項目的第一個值。如何獲取循環中的checked元素的值

這裏是

$("#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 } ?> 

我怎樣才能檢查項目的價值,用於循環?

感謝

回答

1

變化

a = $("input:checked").val(); 

a = $("input:checked").eq(i).val(); 

這將讓你對每個後續項的值。

並使用Firebug! :)

+0

thx,那就是我一直在尋找的! – 2009-10-19 16:27:24

1
$("input:checked").each(function() { 
    alert($(this).val()); 
}); 
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 /值的鍵/值對形成。

+0

應該使用'name'屬性而不是ID。除此之外,很好的答案。 – 2009-10-19 16:11:40

+0

@Josh,是的同意,我用id屬性,因爲它似乎是OP分配一個他願意使用的不同的值。 'id =「<?php echo $ info ['ID'];?>」' – CMS 2009-10-19 16:14:05

+0

它不工作,我不明白,我改爲「名字」attr,因爲你寫道,但沒有運氣 – 2009-10-19 16:22:11

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