处理具有不同id和函数的多个复选框

时间:2015-01-16 00:50:41

标签: jquery html checkbox

将所有checkboxes放入单个事件的最佳方法是什么?

示例是下面的代码,我有20个代码(来自#tcbx1 - #tcbx20)。

function tblcheckboxes(){
    var a=0;
    if ($('#tcbx1').is(":checked")) {
         a = parseFloat($("#tcbx1").val(), 10);
    }

$(document).ready(function(){
        $('#tcbx1').click(function(){
            tblcheckboxes();
            grandtotal();
        });
});

另一个具有不同id和不同$(document).ready(function(){的复选框(来自#cbx3 - #cbx5

function grandtotal(){
    var g=0;
    if ($('#cbx3').is(":checked")) {
        g = parseFloat($("#cbx3").val(), 10);
        }

$(document).ready(function(){   
    $('#cbx3').click(function(){
        grandtotal();
});

第一个checkbox分组在一个表中,另一个checkbox只是一些附加组件。

1 个答案:

答案 0 :(得分:0)

查看starts-with selector [id^="tcbx"],选择ID为" tcbx"的所有元素。

function tblcheckboxes(cb){
    var a=0;
    if (cb.is(":checked")) {
        a = parseFloat(cb.val(), 10);
    }
}

$(document).ready(function(){
    $('[id^="tcbx"]').click(function(){
        var cb = $(this);
        tblcheckboxes(cb);
        grandtotal(cb);
    });
});

...并选择以" cbx"开始的项目:

function grandtotal(cb){
    var g=0;
    if (cb.is(":checked")) {
        g = parseFloat(cb.val(), 10);
    }
}

$(document).ready(function(){   
    $('[id^=cbx]').click(function(){
        var cb = $(this);
        grandtotal(cb);
});