如何在Jquery中获取复选框的id

时间:2012-06-02 23:56:56

标签: javascript jquery

我需要从每个选中的复选框中获取ID。现在我能得到很好的总和,但我似乎无法得到每个id。

<input name="pay" class="pay_me" id="4" type="checkbox" value="6.00" />
<input name="pay" class="pay_me" id="5" type="checkbox" value="9.00" />
<input name="pay" class="pay_me" id="6" type="checkbox" value="3.00" />
<input name="pay" class="pay_me" id="9" type="checkbox" value="23.00" />

Jquery的

$(document).ready(function() {
    $('.pay_me').change(

    function() {
        var t_payme = 0;
        $('.pay_me:checked').each(function() {
            t_payme += parseFloat($(this).val());
        });
        t_payme = parseFloat(t_payme).toFixed(2);
        $('#to_payme').val(t_payme);
    });
});​

有了这个,我就可以把它归到我的文本框了

<input name="to_payme" id="to_payme" type="text" value="0.00" />

我还需要在另外的文本框中使用这个4 | 6 | 9的已检查身份证号码

<input name="ids_to_update" id="ids_to_update" type="text" value="" />

3 个答案:

答案 0 :(得分:4)

您可以使用this.id(或$(this).prop("id"))获取元素ID。使用数组存储ID,如:

$(document).ready(function() {
    $('.pay_me').change(function() {
        var t_payme = 0, checked = [];
        $('.pay_me:checked').each(function() {
            t_payme += parseFloat($(this).val());
            checked.push(this.id);
        });
        t_payme = t_payme.toFixed(2);
        $('#to_payme').val(t_payme);
        $('#ids_to_update').val(checked.join("|"));
    });
});​

DEMO: http://jsfiddle.net/rA5cv/

答案 1 :(得分:2)

你走了:

$(document).ready(function() {
    $('.pay_me').change(function() {
        var t_payme = 0, ids = [];
        $('.pay_me:checked').each(function() {
            ids.push(this.id);
            t_payme += parseFloat($(this).val());
        });
        t_payme = parseFloat(t_payme).toFixed(2);
        $('#to_payme').val(t_payme);
        $('#ids_to_update').val(ids.join('|'));
    });
});

on jsFiddle

答案 2 :(得分:0)

跟踪数组中的ID:

var ids = [];
$('.pay_me:checked').each(function () { 
    t_payme += parseFloat($(this).val()); 
    ids.push($(this).attr("id"));
});

//now do something with the array of IDs...