Jquery表单 - 我可以添加输入吗?

时间:2011-02-07 18:11:20

标签: javascript jquery forms

我正在尝试在jquery中添加这两个或更多输入,以便为我输出两个输入值(5 + 2)乘以“产品”金额($ 50.25)。 如何在不为这些输入分配任何类或ID的情况下添加所有输入? 你能指导我吗?

<input type="text" value="5" /> <input type="text" value="2" />
<h3></h3>

<script>
$("input").keyup(function () {
    var value = parseFloat($(this).val());
    var item_price = parseFloat("50.25");

    $("h3").text(value * item_price);
   }).keyup();
</script>

此代码输出最近编辑的字段。例如,如果我要将第一个字段切换为值2,则总数将更改为“100.5”,然后更改其他字段将根据该字段更改总计,而不是两者。

我尝试将密钥监听器插入$(“input”)。each()选择器,但显然在代码中有一些东西,因为它没有返回任何结果。

$("input").each(function() {
    value += parseFloat($(this).val());
    $("input").keyup(function () {
    var value = parseFloat($(this).val());
    var item_price = parseFloat("50.25");

    $("h3").text(value * item_price);
}).keyup();
});

3 个答案:

答案 0 :(得分:0)

您的范围不正确:

$("input").keyup(function() {
    var itemPrice = 50.25;
    var total = 0.0;
    $("input").each(function() {
       total += parseFloat($(this).val());
    });
    $("h3").html(total * itemPrice);
}).keyup();

答案 1 :(得分:0)

关键是循环输入并添加它们的值。

var totalInput = 0;
$("input").keyup(function () {
    //zero out the global var totalInput
    totalInput = 0;
    $("input").each(function(){
        //for each input, add value to global totalInput
        totalInput += $(this).val()
    });

    //setup price
    var item_price = parseFloat("50.25");

    //display price times totalInput
    $("h3").text(totalInput * item_price);
});

答案 2 :(得分:0)

这似乎是您正在寻找的。将所有计算放在函数中,然后将该函数绑定到按键。您可能也想立即调用该函数进行初始计算,就像我在演示中所做的那样。

参见实时演示:http://jsfiddle.net/za2vJ/4/