我有一个尝试开发的页面,它将接受用户输入,然后将其添加到数组中,然后获取该数组,并从中生成一个选择和选项列表。
<!DOCTYPE>
<html>
<head>
<script>
var option_list = [];
// for loop at thats option_list to select select tag
for (var i = 0; i < option_list.length; i++){
var opt = option_list[i];
var option = document.createElement("option");
var select = document.getElementById("select");
option.setAttribute("id", opt); //Adding ID to the option list
option.setAttribute("class", "intersect-option"); // adds classes to option
option.value(opt); // adds value to option list
select.appendChild(option); // Adds option to the list.
}
function add_option(name){
var name = document.getElementById("name").value;
name.push(option_list());
}
</script>
</head>
<body>
<input type="text" id="name" value="">
<input type="button" onclick="add_option()" value="add person">
<select id="select">
</select>
</body>
</html>
我遇到的问题是它说当我尝试输入我得到的信息时
未捕获的TypeError:option_list不是函数
在add_option(selectTest.html:19)
在HTMLInputElement.onclick(selectTest.html:25)
我不确定我做错了什么,非常感谢任何帮助。
答案 0 :(得分:0)
您应该将name
推送到option_list数组中。正确的语法是option_list.push(name);
function add_option(){
var name = document.getElementById("name").value;
option_list.push(name);
}
答案 1 :(得分:0)
将元素推入数组的方式是另一种方式:
option_list.push(name);
http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push
答案 2 :(得分:0)
name.push(option_list());
正如它所说,option_list不是函数,并且标识符后面的平衡括号指定C系列语言中的函数调用,因此option_list()不是有效的表达式。
另外,你真的打算从零循环到一个空数组的长度(同样为零)吗?
答案 3 :(得分:0)
<!DOCTYPE>
<html>
<head>
</head>
<body>
<input type="text" id="name" value="">
<input type="button" onclick="add_option()" value="add person">
<select id="select">
</select>
<script>
var option_list = [];
// for loop at thats option_list to select select tag
var select = document.getElementById("select");
function add_option(name){
var name = document.getElementById("name").value;
var option = document.createElement("option");
var label = document.createTextNode(name);
option.setAttribute("id", name); //Adding ID to the option list
option.setAttribute("class", "intersect-option"); // adds classes to option
option.value = name; // adds value to option list
option.appendChild(label);
select.appendChild(option); // Adds option to the list.
}
</script>
</body>
</html>