我有以下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>
答案 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
可能会更好。