尝试将 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);
}});
Run Code Online (Sandbox Code Playgroud)
使用
在计算两个数字之前,解析字符串参数并返回浮点数。
var quantity = $('#quantity').val();
var creditPrice = $('#creditPrice').val();
var total = parseFloat(quantity) * parseFloat(creditPrice);
Run Code Online (Sandbox Code Playgroud)
对值使用 parseFloat,并分别提醒每个值进行测试。
其他一些(不相关的)改进:
使用 keyup() 函数:
$("#quantity").keyup(recalc);
Run Code Online (Sandbox Code Playgroud)使函数匿名:
$("#quantity").keyup(function(){...});
Run Code Online (Sandbox Code Playgroud)在函数中的 #quantity 上使用 $(this) 以避免再次调用 jQuery 选择器
您还可以考虑将其压缩为一行代码:
$("#total").text(parseFloat($('#quantity').val()) * parseFloat($('#creditPrice').val()));
Run Code Online (Sandbox Code Playgroud)
要进行零填充,您可以尝试使用 toFixed() 方法:
var num = 10;
var result = num.toFixed(2); // result will equal 10.00
Run Code Online (Sandbox Code Playgroud)
我从以下网站得到了这个片段
http://www.mredkj.com/javascript/numberFormat.html
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
10747 次 |
| 最近记录: |