结果没有进入现场

时间:2016-06-11 07:39:14

标签: jquery ajax codeigniter

这里我有三个字段,在将值添加到两个字段时,该值的总和应该输入到第三个字段,但这里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>

3 个答案:

答案 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将是数字(如果有效)。