未捕获的TypeError:在querySelectorAll之后无法读取未定义的属性“value”

时间:2017-08-17 19:38:18

标签: javascript jquery

我正在处理javascript并收到一些错误。我正在使用jquery中继器来捕获一些可重复的产品。

$(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:无法读取未定义的属性'value'此错误。我无法解决它。在这里,您可以获得完整的代码。 https://pastebin.com/tzwu0tsq。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

解决问题。由于for循环中的错误信息,我收到此错误。

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

这从0开始,但只有1 div来自querySelectorAll。所以循环必须继续少于1。