这里我有三个字段,在将值添加到两个字段时,该值的总和应该输入到第三个字段,但这里sum函数没有得到 这是我的代码
<script type="text/javascript">
$(document).ready(function () {
var balanceamount = $("#balance").val();
var actual_amount = $("#total_amount").val();
var total_balance = $("#totalbalance").val();
$("#amount").keyup(function ()
{
var amount = $("#amount").val();
var total_balance = $("#totalbalance").val();
var total_amount = total_balance + amount;
alert(total_amount);
$("#total_amount").val(total_amount.toFixed(2));
});
});
</script>
答案 0 :(得分:1)
您需要parseFloat()
所有值...
<script type="text/javascript">
$(document).ready(function () {
var balanceamount = parseFloat( $("#balance").val() );
var actual_amount = parseFloat( $("#total_amount").val() );
var total_balance = parseFloat( $("#totalbalance").val() );
$("#amount").keyup(function ()
{
var amount = parseFloat( $("#amount").val() );
var total_balance = parseFloat( $("#totalbalance").val() );
var total_amount = total_balance + amount;
alert(total_amount);
$("#total_amount").val(total_amount.toFixed(2));
});
});
</script>
答案 1 :(得分:1)
试试这个。我认为你应该使用parseInt()
将值转换为int。另外检查是否有任何字段包含空字符串或不能获得正确的字符串。
$("#amount").keyup(function () {
var amount = $("#amount").val() == '' ? 0 : parseFloat($("#amount").val());
var total_balance = $("#totalbalance").val() == '' ? 0 : parseFloat($("#totalbalance").val());
var total_amount = total_balance + amount;
alert(total_amount);
$("#total_amount").val(total_amount.toFixed(2));
});
答案 2 :(得分:1)
输入值是字符串,因此当您执行此操作时:
var total_amount = total_balance + amount;
...您正在连接字符串,并且没有为字符串定义toFixed
方法。
将输入值转换为数字的最快方法是使用单一加号:
var total_amount = +total_balance + +amount;
请注意,您可能需要验证输入。您还可以使用number
类型input
代码:
<input id="amount" type="number">
...然后value
将是数字(如果有效)。