2017-08-17 83 views
0

我正在研究一個javascript,並且出現一些錯誤。我正在使用jquery轉發器來捕獲一些可重複的產品。Uncaught TypeError:在querySelectorAll後無法讀取未定義的屬性'值'

$(document).on('keyup', '#discount', function(){ 
    var name = $(this).attr('name'); 
    var loopNo = document.querySelectorAll('.count_list .list_repeat').length; 
    var i; 
    var sum = 0; 
    for(i=0;i<=loopNo;i++){ 
     var selling_price = parseInt(document.getElementsByName("sell_products[".concat(i).concat("][selling_price]"))[0].value); 

     var quantity = parseInt(document.getElementsByName("sell_products[".concat(i).concat 
    ("][quantity]"))[0].value); 

     var selling_price_quantity = selling_price * quantity; 

     sum = sum + (selling_price_quantity - parseInt(document.getElementsByName("sell_products[".concat(i).concat("][discount]"))[0].value)); 

} 
    document.getElementById('total_amount').innerHTML = sum; }); 

這是什麼,我想,但我得到遺漏的類型錯誤代碼:無法讀取的不確定這個錯誤屬性「價值」。我無法解決它。在這裏你可以得到完整的代碼。 https://pastebin.com/tzwu0tsq。任何人都可以幫忙嗎?

+0

你做了什麼調試?你是否傾銷/記錄了未說明的objet?這和PHP有什麼關係?如果這真的只是一個JavaScript問題,請刪除PHP和Laravel5標籤。 –

+0

帕特里克與PHP沒有問題。它只是一個JavaScript問題。我已經刪除了PHP和laravel標籤。 –

+0

'concat(「] [selling_price]」)'看起來您正在嘗試在您定義它的相同行中使用'selling_price'變量。除非你在全球某個地方定義了它,否則它不會在循環中第一次出現。 –

回答

0

解決問題。由於for循環中的錯誤信息,我得到此錯誤。

for(i=0;i<loopNo;i++) 

這從0開始,但只有1個div從querySelectorAll獲得。所以循環必須小於1.

相關問題