这是脚本:
$(document).ready(function () {
$('.txtQuantity, .txtRate').change(function () {
var txtQuantity = $('.txtQuantity').val();
var txtRate = $('.txtRate').val();
var total = parseFloat(txtQuantity) * parseFloat(txtRate);
$('.txtTotal').val(total);
});
});
这是html:
<table>
<tr>
<td><input type="text" class="txtQuantity" /></td>
<td><input type="text" value="12,3" class="txtRate" /></td>
<td><input type="text" disabled="disabled" class="aspNetDisabled txtTotal" /></td>
</tr>
</table>
这是一个fiddle
我缺少什么?它一定是微不足道的。
由于
答案 0 :(得分:2)
使用小数点.
代替逗号(,
),以便parseFloat正确读取数字。working jsFiddle
<input type="text" value="12.3" class="txtRate" />
将数字插入另一个输入时,也应该使用小数点。如果你仍然想出于某种原因使用逗号,你可以用代码替换逗号:( thiis适用于点和逗号用法)
var txtQuantity = $('.txtQuantity').val().replace(/,/g,'.');
var txtRate = $('.txtRate').val().replace(/,/g,'.');
答案 1 :(得分:2)
你有一个逗号应该是一个点。
<table>
<tr>
<td><input type="text" class="txtQuantity" /></td>
<td><input type="text" value="12.3" class="txtRate" /></td>
<td><input type="text" disabled="disabled" class="aspNetDisabled txtTotal" /></td>
</tr>
</table>
答案 2 :(得分:2)
答案 3 :(得分:1)
如果您想要舍入到小数点后两位,您可以使用以下内容:
Math.round(num * 100) / 100;
但如果删除逗号,小提琴似乎也可以正常工作:
<td><input type="text" value="12,3" class="txtRate" /></td>
应该是这样的:
<td><input type="text" value="12.3" class="txtRate" /></td>
答案 4 :(得分:1)
var decvalue = 0.07;
var originalvalue = decvalue * 100;
var wholevalue = Math.floor(originalvalue);
var finalvalue;
if ((originalvalue.toFixed(2) - wholevalue) > 0) {
finalvalue = originalvalue.toFixed(2);
}
else
finalvalue = wholevalue;