我需要将两个用户输入字段相乘并在第三个字段中显示结果。当任一用户输入字段发生更改时,结果字段必须更改。
<input type="number" name="rate" id="rate" />
<input type="number" name="box" id="box" />
结果应该在第三个字段中,当上述两个字段中的任何一个被更改时,该字段会发生变化。这完全取决于用户输入
<input type="number" name="amount" id="amount" readonly />
我需要使用Jquery进行乘法运算。
提前致谢
答案 0 :(得分:4)
试试这个:为change
和rate
输入框绑定box
事件监听器,然后在其中将这些值相乘以将其放入amount
输入中。
$('#rate, #box').change(function(){
var rate = parseFloat($('#rate').val()) || 0;
var box = parseFloat($('#box').val()) || 0;
$('#amount').val(rate * box);
});
<强> DEMO 强>
您可以在输入其他字段后立即使用keyup
事件计算amount
$('#rate, #box').keyup(function(){
var rate = parseFloat($('#rate').val()) || 0;
var box = parseFloat($('#box').val()) || 0;
$('#amount').val(rate * box);
});
<强> DEMO 强>
答案 1 :(得分:1)
试试这个:绑定input
事件监听器on
率和框输入框,然后在里面将这些值相乘以将其输入数量。
input
事件仅在输入值发生变化时触发,而change
仅在字段失去焦点时触发。输入立即触发
$('#rate, #box').on('input',function(){
var rate = parseFloat($('#rate').val()) || 0;
var box = parseFloat($('#box').val()) || 0;
$('#amount').val(rate * box);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<input type="number" name="rate" id="rate" value=""/>
<input type="number" name="box" id="box" value=""/>
<input type="number" name="amount" id="amount" readonly />
答案 2 :(得分:0)
以上是我在上述情景中的2美分 - http://jsfiddle.net/ak9ejpne/3/
我的目标是保持代码清晰干净,有一些MVC味道。
function Operand(a,b){
this.a = parseInt(a);
this.b = b;
this.c = (this.a)*(this.b);
this.set = function(key,edit){
this[key] = edit;
this.c = (this.a)*(this.b);
};
return this;
}
请告诉我这是否对您有用:)
答案 3 :(得分:0)
<script type="text/javascript">
$("#txtOne,#txtTwo").on("change keyup", function(e){
var txtOne = parseFloat($("#txtOne").val());
var txtTwo = parseFloat($("#txtTwo").val());
var result = txtOne * txtTwo ;
if (!isNaN(result)) {
$("#txtAmount").val(result);
}
});
</script>