多输入数组在使用javascript的for循环中不起作用
我有3个输入数组字段,我使用JS按名称调用它们。当我只调用一个数组输入时,它将按照循环工作,例如,如果循环将运行3次,那么它将使用下面的代码显示警报3次多输入数组在使用javascript的for循环中不起作用,javascript,Javascript,我有3个输入数组字段,我使用JS按名称调用它们。当我只调用一个数组输入时,它将按照循环工作,例如,如果循环将运行3次,那么它将使用下面的代码显示警报3次 function checkFluency() { var costPrice = document.getElementsByName('costPrice[]'); var salePrice = document.getElementsByName('salePrice[]'); var gst = docume
function checkFluency() {
var costPrice = document.getElementsByName('costPrice[]');
var salePrice = document.getElementsByName('salePrice[]');
var gst = document.getElementsByName('gst[]');
for (var i = 0; i <costPrice.length; i++) {
var costPrice_arr=costPrice[i];
var salePrice_arr=salePrice[i];
var gst_arr=gst[i];
//var sale = salePrice_arr.value;
var cost = costPrice_arr.value;
//var gst = gst_arr.value;
alert(cost);
}
}
函数检查流畅性(){
var costPrice=document.getElementsByName('costPrice[]);
var salePrice=document.getElementsByName('salePrice[]);
var gst=document.getElementsByName('gst[]);
对于(var i=0;i将注释的gst变量名更改为其他值
var gst = gst_arr.value;
进入:
这样做毫无意义:
var cost = costPrice_arr.value;
只需使用costPrice_arr中的值。我已经尝试过了,并且效果很好。下面是代码:
function checkFluency() {
var costPrice = ["a", "b", "c"];
var salePrice = ["1", "2", "3"];
var gst = ["I", "II", "III"];
for (var i = 0; i < costPrice.length; i++) {
var costPrice_arr = costPrice[i];
var salePrice_arr = salePrice[i];
var gst_arr = gst[i];
alert(costPrice_arr);
}
函数检查流畅性(){
var成本价格=[“a”、“b”、“c”];
var salePrice=[“1”、“2”、“3”];
增值税=[“一”、“二”、“三”];
对于(变量i=0;i
}将您的var gst=gst\u arr.value;
更改为var gst\u new=gst\u arr.value;
。此外,您还错卖了salePrice\u arr.value;
。将其更改为salePrice\u arr.value;
在这里:
函数检查流畅性(){
var costPrice=document.getElementsByName('costPrice[]);
var salePrice=document.getElementsByName('salePrice[]);
var gst=document.getElementsByName('gst[]);
对于(变量i=0;i
检查
salePrice和gst的长度是否也为3或更大?请在问题中添加数组的值。检查控制台,可能会记录错误there@manjish是的,我自己在输入字段中输入值。所以是一样的。此外,这是否会导致循环停止?没有获取导致循环停止的内容
-在浏览器控制台中查找错误。首先是var gst\u arr=gst[i]
,然后是gst=gst\u arr.value
?这似乎不正确。你为什么要这样做?你的问题可能是你用undefined
覆盖了gst
,或者在gst[i]的第二次迭代中导致异常
。此行var cost=costPrice\u arr.value;
是必需的,因为我正在从表单的输入/文本框字段中获取值。如果我跳过此行并直接调用costPrice\u arr
var,那么我将得到此错误[object htmlinput element]
。关于你的解决方案,仅仅更改var的名称没有任何区别。难以置信,我复制了与你相同的方法,但仍然不起作用。但是你在代码段中工作!!问题出在哪里?顺便说一下,我更新了for循环,我将(var I=0;I<3;I++)的更改为for(var I=0;Ivar salePrice\u arr=0;
,但您试图使用salePrice\u arr.value
访问它。将salePrice\u arr.value
更改为salePrice\u arr
。
function checkFluency() {
var costPrice = ["a", "b", "c"];
var salePrice = ["1", "2", "3"];
var gst = ["I", "II", "III"];
for (var i = 0; i < costPrice.length; i++) {
var costPrice_arr = costPrice[i];
var salePrice_arr = salePrice[i];
var gst_arr = gst[i];
alert(costPrice_arr);
}