如何使用jquery或javascript中的keyup函数计算总价?

时间:2013-08-15 02:21:50

标签: javascript jquery

大家好我想问一下如何使用jquery执行自动计算? 例如,如果我有3个文本框。文本框1用于数量,文本框2用于价格,文本框3用于结果。当用户在文本框1和文本框2中输入值时,文本框3将自动解决计算(价格*数量)。如果用户那就是所有人我希望你能帮助我。感谢。

这是我的HTML代码。

<tr>
   <td><input type='text' name='qty' id='qty' value='' />
   <td><input type='text' name='price' id='price' value='' />
   <td><input type='text' name='total' id='total' value='' />
</tr>

在javascript中我该如何进行计算?

3 个答案:

答案 0 :(得分:3)

处理输入更新事件的最佳方法是使用jQuery.on('input',...)。您可以使用parseFloatparseInt从其他输入toFixed获取值,以确保最终值看起来像货币(如果不需要则删除它),并提供后备如果无法解析某些内容,则为0。

$('#qty, #price').on('input',function() {
    var qty = parseInt($('#qty').val());
    var price = parseFloat($('#price').val());
    $('#total').val((qty * price ? qty * price : 0).toFixed(2));
});

JSFiddle Demo

答案 1 :(得分:0)

你必须给你的文本框一个类名,然后遍历该类并添加它们的值。

让我们说这是你的文字字段

<input type="text" class="row-total">

这就是你添加它们的方式

var total = 0;
$.each(".row-total", function(){
 total += $(this).val()
});

答案 2 :(得分:0)

在这件事中你需要给textbox1和textbox2一个(“Comp”)类名 例如:

<input type="text" name="textbox1" class="Comp">
<input type="text" name="textbox2" class="Comp">

然后这将是脚本:

$(document).ready(function(){
    $(".Comp").change(function(){
        var total = 0.00;
        var textbox3= 0.00;    // this gonna be your third textbox
        $(".Comp").each(function(){
            total += parseFloat(this.value);
        });
        textbox3= $("#textbox3").val((total).toFixed(2));

    });
}); 

注意:只需编辑适合您需要的计算。这个只添加两个文本框(textbox1和textbox2)