在选择对象中使用多个 add() 命令
Using multiple add() commands in a select object
我正在尝试创建一个网站,该网站根据用户在前<form>
中的输入更改其在<form>
中的<option>
。我的模型在下面。
<!DOCTYPE html>
<html>
<body>
<form>
<select id="select">
<option>Car</option>
<option>Phone</option>
</select>
</form>
<button onclick="myFunction()">Get new list</button>
<form>
<select id="results">
</select>
</form>
<script>
function myFunction() {
var x = document.getElementById("select").value;
var y = document.getElementById("results");
var option = document.createElement("option");
if (x == "Car")
{
for(i = 0; i < document.getElementById("results").length; i++)
{
y.remove(y[i]);
}
option.text = "Honda";
y.add(option);
option.text = "Nissan";
y.add(option);
option.text = "BMW";
y.add(option);
}
if (x == "Phone")
{
for(i = 0; i < document.getElementById("results").length; i++)
{
y.remove(y[i]);
}
option.text = "Blackberry";
y.add(option);
option.text = "Nokia";
y.add(option);
option.text = "Android";
y.add(option);
}
}
</script>
</body>
</html>
我希望这段代码做的是允许用户选择本田、日产或宝马,如果他们选择汽车选项,如果他们选择手机选项,选择黑莓、诺基亚或 Android。但是,add()
命令仅接受最后一行输入(BMW 或 Android)。我是否以正确的方式解决这个问题,只需要一个简单的修复,还是应该重新设计我解决这个问题的方式?
另外,我怎样才能使它们的第二种形式自动填充而无需单击按钮?
谢谢你的时间,
您每次都添加相同的选项对象 - 您需要创建一个新的选项
option = document.createElement("option");
在每行option.text = "xxxx";
之前。
例如
var option1 = document.createElement("option");
option1.text = "Honda";
y.add(option1);
var option2 = document.createElement("option");
option2.text = "Nissan";
y.add(option2);
// etc
相关文章:
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- 当我点击jsf中的primefaces命令按钮时,如何获得点击事件
- 如何使用Socket.io将命令从客户端发送到服务器
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 命令行中的Uglify js;不要弄乱变量名
- http.listen()在运行时接受终端命令
- 如何在没有单词的情况下从命令行运行Node.js程序'节点'
- 如何将给定的curl命令复制为jquery ajax请求
- 打开抽屉的Javascript打印命令
- 如何jQuery-Add按钮最多插入10个新输入
- Web控制台命令不起作用
- 在不兼容的接收器上调用的方法Set.prototype.add未定义
- Add a class if var < 0 jquery
- 如何使用脚本在jsf中执行命令按钮的自动点击
- 类似HTML命令行的文本框
- jquery.html有效,但是.add不行;t
- 命令“;节点"做
- 这个 add(x) 函数是如何工作的
- 在选择对象中使用多个 add() 命令
- 执行PHP "action=add"命令,然后转移到另一页