0

嗨,我正在创建一个包含计算的表单,但我遇到了一个我无法解决的问题问题是我有一个文本框,它将显示一些数值,我想为其现有值添加一些值并希望在同一个文本框中显示值例如,如果文本框中的值为“10”,我想添加更多的 10,这将导致“10+10”,并将在同一个文本框中显示输出 20 这是我的代码

   var mbill = $("#billamt").val();// this will have a default value
    $(".cal").each(function() {
        if (!isNaN(this.value) && this.value.length != 0) {
            bill += parseFloat(this.value);
        }
    });

     var finalamt = mbill + bill;
    console.log(finalamt);
     $("#billamt").val(finalamt.toFixed(2));
4

2 回答 2

0
 var bill;
 var mbill = $("#billamt").val();// this will have a default value
    $(".cal").each(function() {
        if (!isNaN($(this).val()) && $(this).val().length != 0) {
            bill += parseFloat($(this).val());
        }
    });

 var finalamt = mbill + bill;
console.log(finalamt);
 $("#billamt").val(finalamt.toFixed(2))
于 2013-09-10T11:27:36.503 回答
0

我认为你有一个超出范围的变量,但如果没有你的所有代码,很难准确地说出来。bill变量声明在哪里?您还需要解析mbill变量,使其不会被视为文本。

这就是你所追求的吗?

<input class=cal type=text /><br />
<input class=cal type=text /><br />
<br /><br />
<input id=numtoadd type=text value=10 /><br />

var mbill = parseFloat($("#numtoadd").val());

$(".cal").keyup(function(){
    var bill = 0;

    $(".cal").each(function(){
        if (!isNaN($(this).val()) && $(this).val().length != 0) {
            bill += parseFloat($(this).val());          
        }
    });
    $("#numtoadd").val(mbill + bill);
});

更新小提琴:http: //jsfiddle.net/MTgpN/2/

于 2013-09-10T11:24:35.303 回答