簡體   English   中英

jQuery的每行鍵控功能的多個輸入字段不起作用

[英]JQuery multiple input fields of each row keyup function not working

您好,我試圖按順序運行我的jquery代碼,但它根本不起作用,我不知道它背后的問題是什么,但它在多行中包含多個文本框,每一行都計算自己的總和

這是小提琴鏈接

這是我的代碼

$(document).ready(function(){
$('.employee 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);
        console.log(total_sum)
); 
});

txtSales1,txtDeduction1,txtAdjustment1變量以駝峰形式顯示在您的JavaScript中,但不在html輸入名稱上。 因此這些返回NaN。

更新此外,您還需要使用選擇器函數的第二個參數來設置所指內容的上下文:

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

txttotal1需要更改為txtTotal1小提琴需要結束}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM