我在SOF上到处搜索但是没有一个解决方案适合我,我需要帮助计算从表单到按键上的javascript的浮点值。
我在表格和表格中有两个字段我想计算价值。
<input name="Package[sms]" id="Package_sms" type="text">
<input name="Package[sms_rate]" id="Package_sms_rate" type="text">
这是我的javascript代码。
$('#Package_sms, #Package_sms_rate').keypress(function () {
var sms = parseFloat($("#Package_sms").val());
var rate = parseFloat($("#Package_sms_rate").val());
console.log(rate);
// other code
console.log(sms*rate);
});
我正在尝试获取Package_sms_rate
的值,当我输入值0.1
时,控制台会完美地显示0.1
但是当我输入任何这些值时{{1} }或0.11
到0.12
,它仍会显示0.19
。因此,它正在进行错误的计算。我该如何解决?
0.1
答案 0 :(得分:1)
您需要将keypress
事件更改为keyup
事件,以便在将值应用于输入后触发:
注意:我将parseFloat()
替换为+
运算符,它更短,更通用。
$('#Package_sms, #Package_sms_rate').keyup(function () {
var sms = +$("#Package_sms").val();
var rate = +$("#Package_sms_rate").val();
console.log(rate);
console.log(sms*rate);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="Package[sms]" id="Package_sms" type="text">
<input name="Package[sms_rate]" id="Package_sms_rate" type="text">