jquery-如何在更改时最好地更新文本文件

jquery-如何在更改时最好地更新文本文件,jquery,Jquery,多亏了这里的代码和人员,我在一个页面上有一个jquery脚本,我需要调用更大函数的一部分。我想我不知道如何分解成多个函数。当我创建动态输入字段时,一切都正常运行,它将一些金额字段汇总到一个汇总框中,但如果我不创建新的输入框,它就不会得到我需要汇总这些输入的部分。以下是我到目前为止所拥有的示例,代码中有一条注释,我需要帮助: 您需要添加一个事件。首先在每个金额输入上添加一个“金额”类。然后添加如下内容: $('table').on('change', '.amount', function()

多亏了这里的代码和人员,我在一个页面上有一个jquery脚本,我需要调用更大函数的一部分。我想我不知道如何分解成多个函数。当我创建动态输入字段时,一切都正常运行,它将一些金额字段汇总到一个汇总框中,但如果我不创建新的输入框,它就不会得到我需要汇总这些输入的部分。以下是我到目前为止所拥有的示例,代码中有一条注释,我需要帮助:


您需要添加一个事件。首先在每个金额输入上添加一个“金额”类。然后添加如下内容:

$('table').on('change', '.amount', function() {
  var amount = 0;
  $('.amount').each(function() {
    amount =+ this.value;
  })
  $('#Totals').val(amount);
})

此外,还要在金额输入中添加type=“number”

您需要添加一个事件。首先在每个金额输入上添加一个“金额”类。然后添加如下内容:

$('table').on('change', '.amount', function() {
  var amount = 0;
  $('.amount').each(function() {
    amount =+ this.value;
  })
  $('#Totals').val(amount);
})

此外,还要在金额输入中添加type=“number”

计算总计的代码块位于“添加新行”按钮的单击处理程序中,因此仅当按下此按钮时才会调用该代码块。您需要将其移到click处理程序之外。我已经将其转换为如下函数

        function updateTheTotal(){
           var total = 0;
           $('input.Amount').each(function () {
              total += parseInt(this.value, 10) || 0;
              if (this.value.length === 0) this.value = 0;
           });
           $('#Totals').val(total);
        }
它在所有金额字段的键控时被调用

$('.Amount').on('keyup', updateTheTotal);

注意:您的代码是通过缓存选择器进行优化的候选代码

计算总计的代码块位于“添加新行”按钮的单击处理程序中,因此仅当按下此按钮时才会调用它。您需要将其移到click处理程序之外。我已经将其转换为如下函数

        function updateTheTotal(){
           var total = 0;
           $('input.Amount').each(function () {
              total += parseInt(this.value, 10) || 0;
              if (this.value.length === 0) this.value = 0;
           });
           $('#Totals').val(total);
        }
它在所有金额字段的键控时被调用

$('.Amount').on('keyup', updateTheTotal);

注意:您的代码可以通过缓存选择器进行优化

创建一个函数来执行总计,并在现有的单击事件和绑定到更改字段的新更改事件中调用它

function updateTotal()
{
    var total = 0;
    $('input[name^="Amount"]').change(function () {
        total += parseInt(this.value, 10) || 0;
        if (this.value.length === 0) this.value = 0;
    });
    $('#Totals').val(total);        
}

$('body').on('change','input[name^="Amount"]',function () {
    updateTotal();
});

创建一个函数来执行总计,并在现有的click事件和绑定到change fields的new change事件中调用它

function updateTotal()
{
    var total = 0;
    $('input[name^="Amount"]').change(function () {
        total += parseInt(this.value, 10) || 0;
        if (this.value.length === 0) this.value = 0;
    });
    $('#Totals').val(total);        
}

$('body').on('change','input[name^="Amount"]',function () {
    updateTotal();
});

这正是我努力的目标。谢谢这正是我努力的目标。谢谢