计算后总值不变

时间:2012-12-26 17:47:10

标签: javascript jquery html

我有一个jsfiddle here

在小提琴中有许多标记文本框。在文本框中键入一个数字,然后单击添加问题按钮。您将看到剩余的总分数等于10,但它不会改变。剩余的标记数量应该通过减去附加行中的每个数字来改变。

例如,如果剩余的总分数为10,并且您追加了四行,每行包含1的标记,则剩余的总分数应为6。 (10 - 4 = 6。)但为什么不改变剩余的商标数量?

这是执行计算的函数:

function calculateTotal()
{
   var totalweight = totalmarks;
   $("#qandatbl td.weight input").each(function (i, elm){
        totalweight = totalweight - Number($(elm).val(), 10);
    });

    $("#total-weight").text(totalweight);
}

2 个答案:

答案 0 :(得分:0)

对于您的具体问题,您似乎想要从table#qandatbl_onthefly而不是table#qandatbl获取值。

function calculateTotal() {
    var totalweight = totalmarks;
    $("#qandatbl_onthefly td.weight input").each(function(i, elm) {
        totalweight = totalweight - Number($(elm).val(), 10);
    });
    $("#total-weight").text(totalweight);
}

答案 1 :(得分:0)

根据你的jsfiddle,你没有表#quandatbl中的输入。 尝试将更改功能改为

function calculateTotal()
{
   var totalweight = totalmarks;
   $("#qandatbl_onthefly_container td.weight input").each(function (i, elm){
        totalweight = totalweight - Number($(elm).val(), 10);
    });

    $("#total-weight").text(totalweight);
}