尝试乘以2个值。数量为整数,信用价格为十进制数。当我运行此代码时没有任何反应。
有谁知道这是什么问题?
谢谢。
$(function(){ // bind the recalc function to the quantity fields
$("#oneCreditSum").after('<label></label>Total: Aud <span id=\"total\"></span><br><br>');
$("#quantity").bind('keyup', recalc);
function recalc(){
var quantity = $('#quantity').val();
var creditPrice = $('#creditPrice').val();
var total = quantity * creditPrice;
$("#total").text(total);
}});
答案 0 :(得分:4)
使用
<强> parseFloat 强>
在计算两个数字之前解析字符串参数并返回浮点数。
var quantity = $('#quantity').val();
var creditPrice = $('#creditPrice').val();
var total = parseFloat(quantity) * parseFloat(creditPrice);
答案 1 :(得分:4)
对值使用parseFloat,并分别提醒每个人进行测试。
其他一些(不相关的)改进:
使用keyup()函数:
$("#quantity").keyup(recalc);
让函数匿名:
$("#quantity").keyup(function(){...});
在函数的#quantity上使用$(this)以避免再次调用jQuery选择器
您还可以考虑将其缩减为一行代码:
$("#total").text(parseFloat($('#quantity').val()) * parseFloat($('#creditPrice').val()));
要进行零填充,您可以尝试使用toFixed():
var num = 10;
var result = num.toFixed(2); // result will equal 10.00
我从以下网站获得了此片段
http://www.mredkj.com/javascript/numberFormat.html
希望这有帮助。
答案 2 :(得分:0)
如果您只对整数感兴趣,可以使用此功能: