javascript全局数组

时间:2011-04-11 10:27:42

标签: javascript

我有以下html代码,并尝试通过改变javascript函数向全局数组添加新值。我正在尝试按以下方式执行。但是它给出了javascript错误。请建议任何人如何执行此操作。

<html>
<head>
<script>
var list=[];
function getList(value){

list=list(value);
}
</script>

</head>

<body>

<tr>
<td>
<select name="test" onchange="getList(this)">
<option id="1" value="one">One</option>
<option id="2" value="two">two</option>

</select>
</td>
</tr>
<tr>
<td>
<select name="test1" onchange="getList(this)">
<option id="3" value="three">three</option>
<option id="4" value="four">four</option>

</select>
</td>
</tr>

</body>
</html>

4 个答案:

答案 0 :(得分:6)

将您的Javascript更改为以下

var list=new Array; ///this one way of declaring array in javascript
function getList(value){

list.push(value);//push function will insert values in the list array
}

答案 1 :(得分:0)

向数组添加值非常简单,您只需调用push(..)方法。

像这样:

var list = [ ];
list.push(1);

console.info(list); // Outputs: [ 1 ]

答案 2 :(得分:0)

您当前正在将整个select元素传递给您的函数,而不是所选的值。您可以像这样传递选定的值:

getList(this.options[this.selectedIndex].value)

然后,您可以在函数中使用list.push(value)将所选值添加到数组中。

答案 3 :(得分:0)

在JavaScript中向数组添加值的最简单方法是使用push方法(除非您需要支持IE5):

function getList(value) {
  list.push(value);
}

两件事:

  • 在您的情况下,这会将对select元素的引用添加到列表中。这很可能不是你想要的。你想要添加什么?

  • getList实际上并不是一个合适的名称。 addToList可能会更好。