2017-08-17 5 views
0

JavaScriptを使用していてエラーが発生しました。私はjqueryリピータを使用していくつかの繰り返し可能な製品をキャッチしています。 Uncaught TypeError:querySelectorAllの後で未定義のプロパティ 'value'を読み取ることができません。

$(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; }); 

この

は私が取得したいが、私は 捕捉されない例外TypeErrorを取得しています何のためのコードです:未定義このエラーのプロパティ「値」を読み込めません。私はそれを解決することができません。ここで完全なコードを取得することができます。 https://pastebin.com/tzwu0tsq。誰でも助けてくれますか?

+0

どのようなデバッグを行っていますか?定義されていないobjetをダンプ/ログに記録しましたか?これはPHPと何が関係していますか? PHPとLaravel5のタグを削除してください。これは実際にはjavascriptの問題です。 –

+0

パトリックはPHPに問題はありません。そのジャバスクリプトの問題。私はすでにPHPとlaravelタグを削除しました。 –

+0

'concat(")[selling_price] ")'あなたが定義したのと同じ行に 'selling_price'変数を使用しようとしているようです。あなたがどこかで世界的に定義されていない限り、それはループを通して初めて存在することはありません。 –

答えて

0

問題を解決します。 forループの情報が間違っているため、このエラーが発生します。

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

これは0から始まり、1つのdivだけがquerySelectorAllから取得します。ループは1より少なく続ける必要があります。

関連する問題