我正在尝试在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();
});
答案 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/