首页 > 解决方案 > 如何在使用整数更新单元格后刷新我的表单集数据?

问题描述

我已经玩了几天了,今天取得了一些进步。我只是想在用户在表中输入值时添加值。这种代码很有效。

  $(document).ready(function() {
    $("input[name$='-line_item_total']").on('keyup', function(){
        var total = 0;
        console.log('hello1');
        // on every keyup, loop all the elements and add all the results
        $("input[name$='-line_item_total']").each(function(index, element) {
            var val = parseFloat($(element).val());
            if( !isNaN( val )){
               total += val;
            }
        });
        $("#id_total_total").val(total);
    });
  });

有问题的表格是动态表格,用户可以输入任意数量的行。我遇到的问题是,只有当用户更新以 -line_item_total 开头的第一个行项目时,这些值才会全部引用。我想要实现的是任何时候以 -line_item_total 结尾的任何行都被更新,然后重新计算整个列。如前所述,此代码的工作原理是它似乎确实可以看到所有值并重新计算用户是否返回原始单元格并更新初始值,但这并不是我希望实现的。如果有更好的方法来实现这一点,我也对此持开放态度。我很困惑,因为所有单元格都以 -line_item_total 结尾,所以我希望每次都会根据我提供的代码进行重新计算,但它' 不是那样工作的。提前感谢您的任何想法。

标签: javascriptjquerydjango-viewsdjango-formsdjango-templates

解决方案


所以我通过这个SO找到了我的问题的答案...... https://stackoverflow.com/questions/36787479/calculations-in-a-dynamically-added-rows-using-jquery

这是我的最终代码...

<script type="text/javascript">

  $(document).ready(function(){
    $(document).on('keyup',"input[name$='-line_item_total']",function(){
        update_total();
    });
  });

  function update_total()
  {
    var total = 0;
    $("input[name$='-line_item_total']").each(function(index, element) {
        var val = parseFloat($(element).val());
        if( !isNaN( val )){
             total += val;
          }
        });
        $("#id_total_total").val(total);
  }
</script>

推荐阅读