如何将所有输入框值相加是相同的类,但是当输入框从其他事件

时间:2016-05-17 17:44:38

标签: jquery

我将每个tr第一个td input val与第三个td input val相乘,并将其置于第4个td input也禁用第4个td input框;使用jquery事件放置的值。现在我需要(第4 td input class="net")当每行第4 td input获得更新值,然后第4 td input个数字总和该值并显示在最后tr最后{{ {1}} tdinput

我怎么能得到这个。任何帮助都会很感激。

id="TotalCash"的计算:

.net

jQuery的:

$('#diamondEnd').change(function(){
                    var curr=Number($(this).val());
                    var diain=Number($('#Diamond').val());
                    var diaout=Number($('#diamondEnd').val());
                    var output=0;
                    if(curr!=NaN){
                        output=(diaout-diain);
                    }
                    $('#diamondNet').val(output);
                })

HTML:

   $('.net').on('change',function(){
      var sumNet=0;
      $('.net').each(function(){
        sumNet+=Number($(this).val());
      })
      $('#TotalCash').val(sumNet);
    })

1 个答案:

答案 0 :(得分:1)

jQuery的change()事件仅在.net元素的数据输入期间触发,这是不可能的,因为它们都被禁用了。

如果通过.net方法更改了val()元素值,则不会触发。

function updateTotalCash() {
  var sumNet = 0;
  $('.net').each(function() {
    sumNet += Number($(this).val());
  })
  $('#TotalCash').val(sumNet);
} //updateTotalCash

然后在可编辑输入的change()方法的末尾调用它:

$('#diamondEnd').change(function() {
  var curr = Number($(this).val());
  var diain = Number($('#Diamond').val());
  var diaout = Number($('#diamondEnd').val());
  var output = 0;
  if (curr != NaN) {
    output = (diaout - diain);
  }
  $('#diamondNet').val(output);
  updateTotalCash();  //add this
})

或者,您可以按原样保留.net更改方法,并将其链接到val()方法,如下所示:

  $('#diamondNet').val(output).change();