1

我需要从每个选中的复选框中获取 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 的已检查 ID 号

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

3 回答 3

4

this.id您可以使用(或)获取元素 ID $(this).prop("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("|"));
    });
});​

演示:http: //jsfiddle.net/rA5cv/

于 2012-06-02T23:59:57.377 回答
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('|'));
    });
});

在 jsFiddle 上

于 2012-06-03T00:00:22.087 回答
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...
于 2012-06-03T00:00:23.437 回答