Javascript 在使用整数更新单元格后,如何使窗体集数据刷新?

Javascript 在使用整数更新单元格后,如何使窗体集数据刷新?,javascript,jquery,django-views,django-forms,django-templates,Javascript,Jquery,Django Views,Django Forms,Django Templates,我已经玩了几天了,今天取得了一些进步。我只是试图在用户在表中输入值时添加它们。这种代码很管用 $(document).ready(function() { $("input[name$='-line_item_total']").on('keyup', function(){ var total = 0; console.log('hello1'); // on every keyup, loop all the e

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

  $(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结尾,所以我希望每次都会根据我提供的代码进行重新计算,但不是这样。提前感谢您的建议。

因此,我通过以下途径找到了问题的答案。。。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>

$(文档).ready(函数(){
$(文档)。在('keyup',“input[name$='-line_item_total']”上,函数()中{
更新_total();
});
});
函数更新_总计()
{
var合计=0;
$(“输入[名称$='-行_项目_总计'])。每个(函数(索引,元素){
var val=parseFloat($(element.val());
如果(!isNaN(val)){
总+=val;
}
});
$(“#id#u total_total”).val(总计);
}