0

我正在尝试做一个对我来说很奇怪的表格。

基本概念是我的表单中有一列产品复选框,如果您选择该产品,则需要检查相关产品复选框。

在表格中,我还有另外两列是产品的价格和尺寸。我想计算价格和尺寸的数量取决于打勾的产品。到目前为止,我只获得了正在检查的产品的价值,而不是价格和尺寸的价值。另外,如何动态进行计算。

这是html,http://jsfiddle.net/DDEzm/2/

希望有人能帮忙,非常感谢。

4

2 回答 2

0

要获得该值,您需要做的事情如下:

$(function(){
    $("[name='chkProduct']").live('change',function(){
        var totalCost = 0;
        $("[name='chkProduct']").each(function(i){
            if($(this).attr("checked")) {
                var price = $(this).parent().next().find("[name='price']").val();
                var size= $(this).parent().next().next().find("[name='size']").val();
                totalCost = totalCost + (price * size);
                $("#presult").val(totalCost);
            }
        });
    });
});​

但是您可能需要添加检查以确保您尝试添加的是数字,方法是限制输入,或者在单击复选框时进行检查。例如,您可以使用 javascripts parseInt

此外,您可以有一个名称或类来识别复选框。这样您就不必为每个复选框编写更改函数。

编辑

我对其进行了修改,以便它可以与所有复选框一起使用并计算总数。

于 2012-07-17T02:38:50.887 回答
0

试试这个,这个解决方案是基于你的标记:

$(function(){
    $('#cb1').live('change',function(){
        if ($(this).is(':checked')) {
           var val = 0;
           val = parseInt($('#tb1').val(), 10) + parseInt($('#tb2').val(), 10)
           $('#presult').val(val)             
        } else {
           $('#presult').val('0')              
        }
    });
});

演示

于 2012-07-17T02:42:44.180 回答