【问题标题】:total value calculation error总值计算误差
【发布时间】:2014-04-05 07:27:13
【问题描述】:
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  <style>
   .trans_gc
  {
     width: 220px;
height: 26px; 
  }
  </style>
<script>
    $.noConflict();
    $(document).ready(function(){
        $(".trans_gc").each(function() {

            $(this).keyup(function(){
                calculateSum();
            });
        });

    });

    function calculateSum() {

        var sum = 0;
        $(".trans_gc").each(function() {

            if(!isNaN(this.value) && this.value.length!=0) {
                sum += parseFloat(this.value);
            }

        });
        $("#trans_gc_total").html(sum);
    }
</script>

    <div class="control-group">
      <div style="float: left;">

        <label class="control-label" >
          FRT
        </label>
        <div class="controls" id="trans_gc_frt">
          <input type="text" class="trans_gc " name="trans_gc_frt" id="trans_gc_frt" required="required" >
        </div>
      </div>
      <div>
        <div>

          <label class="control-label"  style="margin-right: 20px;">
            Hamali Ch.
          </label>
          <div class="controls" >
            <input type="text" class="trans_gc" name="trans_gc_hamali" id="trans_gc" required="required" >
          </div>
        </div>

      </div>

    </div>

    <div class="control-group">
      <div style="float: left;">

        <label class="control-label" >
          Sr.Ch
        </label>
        <div class="controls">
          <input type="text" class="trans_gc" name="trans_gc_sr" id="trans_gc" required="required" >
        </div>
      </div>
      <div>
        <div>

          <label class="control-label"  style="margin-right: 20px;">
            AOC
          </label>
          <div class="controls" >
            <input type="text" class="trans_gc" name="trans_gc_aoc" id="trans_gc" required="required" >
          </div>
        </div>

      </div>

    </div>

    <div class="control-group">
      <div style="float: left;">

        <label class="control-label" >
          Door Cln
        </label>
        <div class="controls">
          <input type="text" class="trans_gc" name="trans_gc_doorcln" id="trans_gc" required="required">
        </div>
      </div>
      <div>
        <div>

          <label class="control-label"  style="margin-right: 20px;">
            Door Del
          </label>
          <div class="controls" >
            <input type="text" class="trans_gc" name="trans_gc_doordel" id="trans_gc" required="required" >
          </div>
        </div>

      </div>

    </div>

    <div class="control-group">
      <div style="float: left;">

        <label class="control-label" >
          Risk Ch
        </label>
        <div class="controls">
          <input type="text" class="trans_gc" name="trans_gc_riskch" id="trans_gc" required="required">
        </div>
      </div>
      <div>
        <div>

          <label class="control-label"  style="margin-right: 20px;">
            Demmurage
          </label>
          <div class="controls" >
            <input type="text" class="trans_gc" name="trans_gc_dem" id="trans_gc" required="required">
          </div>
        </div>

      </div>

    </div>

    <div class="control-group">

      <label class="control-label" >
        Total Value
      </label>
      <div class="controls" >
        <input type="text" class="span3" id="trans_gc_total" required="required">

      </div>

      <!-- /controls -->

    </div>

总价值未显示在 id trans_gc_total 的输入字段中。 我想要所有具有类 trans_gc 的输入字段的总数。 请任何人帮我解决这个问题。谢谢

【问题讨论】:

  • 你的html是完全无效的,还有很多空间。请改正。

标签: javascript jquery jquery-ui javascript-events


【解决方案1】:

这是工作脚本:

$(document).ready(function(){
    $(".trans_gc").keyup(calculateSum);
});

function calculateSum() {
    var sum = 0;
    $(".trans_gc").each(function() {
        if(!isNaN(this.value) && this.value.length!=0) {
            sum += parseFloat(this.value);
        }
    });
    $("#trans_gc_total").val(sum);
}

jsFiddle

建议

>您不必为事件绑定执行each

   $(".trans_gc").each(function() {
        $(this).keyup(function(){
            calculateSum();
        });
    });

这可以简化为:$(".trans_gc").keyup(calculateSum);

>要从 jquery 更改 input 字段值,您需要使用 .val() 而不是 .html()

改变,

$("#trans_gc_total").html(sum);

到,

$("#trans_gc_total").val(sum);

【讨论】:

  • 我想再添加一个字段 。价值因客户而异。你能帮我吗?
  • 你想在哪里添加?
  • 这应该很简单,你只需要在你的html课程中所需的位置添加那行
  • 好的,但是你没有显示你的 php 代码,那么我该如何验证。无论如何它应该运作良好
  • 对不起对不起对不起我犯了一个愚蠢的错误。非常感谢您的帮助。现在我得到了输出。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-26
  • 1970-01-01
  • 2018-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-04
相关资源
最近更新 更多