Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:OnChange事件将数组变量传递给另一个函数_Javascript - Fatal编程技术网

Javascript:OnChange事件将数组变量传递给另一个函数

Javascript:OnChange事件将数组变量传递给另一个函数,javascript,Javascript,在一个JavaScript函数中,我声明了一个数组变量arr1,当用户更改下拉值时,arr1被传递给另一个名为nat的函数,该函数将该值附加到该数组中 如果用户从下拉列表中选择另一项,它应该调用相同的函数nat并将该值附加到相同的数组中。 所以arr1[0]=2和arr1[1]=2 目前的问题是:当我在选择下拉列表时传递数组变量时,它将数组作为字符串发送给函数nat。我试过所有不同的组合 function function1(){ var table = document.getElement

在一个JavaScript函数中,我声明了一个数组变量arr1,当用户更改下拉值时,arr1被传递给另一个名为nat的函数,该函数将该值附加到该数组中

如果用户从下拉列表中选择另一项,它应该调用相同的函数nat并将该值附加到相同的数组中。 所以arr1[0]=2和arr1[1]=2

目前的问题是:当我在选择下拉列表时传递数组变量时,它将数组作为字符串发送给函数nat。我试过所有不同的组合

function function1(){

var table = document.getElementById("device1");
new arr1=new Array();

var row1 = table.insertRow(1);
var cell1= row1.innerHTML = "<select name='owner' id='ownerval' 
                             onChange=nat('"+arr1+"')><option 
                             value='group'>Select Group</option><option 
                             value='FG'>FG</option><option 
                             value='PG'>PG</option><option
                             value='SG'>SG</option></select>";
}
function nat(arr1){
arr1[arr1.length]=2;
alert ("Value: "+ arr1[0]); 
}
在警报中,arr1[0]未定义。

请尝试以下操作:

新arr1=新阵列; 功能1{ var table=document.getElementByIddevice1; var row1=table.insertRow1; var cell1=row1.innerHTML=Select GroupFGPGSG; } 函数natarr1o{ arr1o.push2; 警报值:+arr1o[0];
}数组有一个push方法,它将一个项附加到数组的末尾。在JavaScript中不能有跨越多行的字符串文本。请考虑使用JavaScript,即附加事件侦听器而不是HTML。@Musa您可以转义新行。并不是说这是通过任何方式生成HTML的最佳方式,但它是可以做到的。应该使用push方法附加到数组中。感谢您的快速回答lem2802!但我得到了错误参考错误:在遵循上述解决方案后,arr1没有定义。有人有什么建议吗??