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

时间:2015-03-27 19:56:07

标签: javascript

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

如果用户从下拉列表中选择另一个项目,则应调用此相同的函数nat()并将该值附加到同一个数组。 所以arr1[0] = 2arr1[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]即将显示为“未定义”。

1 个答案:

答案 0 :(得分:0)

试试这个:

&#13;
&#13;
new arr1=new Array();

function function1(){

var table = document.getElementById("device1");

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(arr1o){
arr1o.push(2);
alert ("Value: "+ arr1o[0]); 
}
&#13;
&#13;
&#13;