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