Javascript Jquery所有字段的总和

Javascript Jquery所有字段的总和,javascript,jquery,Javascript,Jquery,我想计算一行中所有字段的总和,这是有效的,但仅适用于第一行,并且我有多行相同的字段,并且具有增量 这是我的小提琴: 这是我的密码 $(document).ready(function() { $('.employee').each(function() { $('input[type="text"]').keyup(function() { var basic_salary = parseInt($('input[name^=txtMonthlyRate]').val(

我想计算一行中所有字段的总和,这是有效的,但仅适用于第一行,并且我有多行相同的字段,并且具有增量

这是我的小提琴:

这是我的密码

$(document).ready(function() {
  $('.employee').each(function() {
    $('input[type="text"]').keyup(function() {
      var basic_salary = parseInt($('input[name^=txtMonthlyRate]').val());
      var advance_salary = parseInt($('input[name^=txtAdvance]').val());
      var recover_comm = parseInt($('input[name^=txtRecovery]').val());
      var sales_comm = parseInt($('input[name^=txtSales]').val());
      var deduction_salary = parseInt($('input[name^=txtDeduction]').val());
      var adjustment_salary = parseInt($('input[name^=txtAdjustment]').val());
      var total_sum = ((basic_salary + recover_comm + sales_comm) - (deduction_salary + advance_salary)) + adjustment_salary;
      $('input[name^=txtTotal]').val(total_sum);
    });
  });
});

您需要在
每个
循环中使用
这个
来单独获取/设置文本字段值

$(文档).ready(函数(){
$('.employee')。每个(函数(){
var self=这个;
$('input[type=“text”]”,self).keyup(函数(){
var basic_salary=parseInt($('input[name^=txtMonthlyRate]',self.val());
var advance_salary=parseInt($('input[name^=txtavance]',self.val());
var recover_comm=parseInt($('input[name^=txtrevery]',self.val());
var sales_comm=parseInt($('input[name^=txtSales]',self.val());
var扣除额\ u salary=parseInt($('input[name^=txtderuction]',self.val());
var adjustment_salary=parseInt($('input[name^=txtdjustment]',self.val());
var总额=((基本工资+回收工资+销售工资)-(扣除工资+预付工资)+(调整工资);
$('input[name^=txtotal]',self).val(total_sum);
});
});
});

#
雇员#
全名
B.工资
进展
记录通信
通讯员
演绎
调整
全部的
E17-00001
员工姓名1
E17-00002
员工姓名2

您需要在每个
循环中使用
这个
来单独获取/设置文本字段值

$(文档).ready(函数(){
$('.employee')。每个(函数(){
var self=这个;
$('input[type=“text”]”,self).keyup(函数(){
var basic_salary=parseInt($('input[name^=txtMonthlyRate]',self.val());
var advance_salary=parseInt($('input[name^=txtavance]',self.val());
var recover_comm=parseInt($('input[name^=txtrevery]',self.val());
var sales_comm=parseInt($('input[name^=txtSales]',self.val());
var扣除额\ u salary=parseInt($('input[name^=txtderuction]',self.val());
var adjustment_salary=parseInt($('input[name^=txtdjustment]',self.val());
var总额=((基本工资+回收工资+销售工资)-(扣除工资+预付工资)+(调整工资);
$('input[name^=txtotal]',self).val(total_sum);
});
});
});

#
雇员#
全名
B.工资
进展
记录通信
通讯员
演绎
调整
全部的
E17-00001
员工姓名1
E17-00002
员工姓名2

检查此工作代码


$(文档).ready(函数(){
$('.employee input[type=“text”]')。按键(函数(evt){
var theEvent=evt | | window.event;
var keyVal=theEvent.keyCode | | theEvent.which;
var key=theEvent.keyCode | | theEvent.which;
key=String.fromCharCode(key);
if(navigator.userAgent.toLowerCase().indexOf('firefox')>-1){
如果(key!=“”&&key!=”(“&&key!=”)&&keyVal!=8&&keyVal!=37&&keyVal!=39&&keyVal!=46&&keyVal!=48){
var regex=/[0-9]\./;
如果(!正则表达式测试(键)){
theEvent.returnValue=false;
如果(theEvent.preventDefault)theEvent.preventDefault();
}
}
}
否则{
如果(键!=“-”){
var regex=/[0-9]\./;
如果(!正则表达式测试(键)){
theEvent.returnValue=false;
如果(theEvent.preventDefault)theEvent.preventDefault();
}
}
}
});
$('.employee input[type=“text”]')。键控(函数(){
var total_sum=0;
var inputs=$(this).parents('.employee').find('input[type=“text”]”);
$。每个(输入、功能(索引、项目){
var thisValue=parseFloat($(item).val());
thisValue=isNaN(thisValue)?0:thisValue;
如果(索引-1 | | this.name.indexOf('txtAdvance')>-1)
总和_sum-=该值;
其他的
总和_sum+=该值;
});
输入.last().val(总和);
});
});
#
雇员#
全名
B.工资
进展
记录通信
通讯员
$(document).ready(function(){
$('.employee').each(function() {
$('input[type="text"]').keyup(function() {
    var container = $(this).closest('.row');
        var basic_salary = parseInt(container.find('input[name^=txtMonthlyRate]').val());
        var advance_salary = parseInt(container.find('input[name^=txtAdvance]').val());
                var recover_comm = parseInt(container.find('input[name^=txtRecovery]').val());
                var sales_comm = parseInt(container.find('input[name^=txtSales]').val());
                var deduction_salary = parseInt(container.find('input[name^=txtDeduction]').val());
                var adjustment_salary = parseInt(container.find('input[name^=txtAdjustment]').val());
        var total_sum = ((basic_salary+recover_comm+sales_comm) - (deduction_salary + advance_salary)) + adjustment_salary;
        container.find('input[name^=txtTotal]').val(total_sum);
});
});
});