Javascript<选择>输出
Javascript <select> output
我给出了两个<select>
控件,第二个控件的值应该根据第一个控件中的选择动态填充。选择"示例A
"时,相应的单词应显示为第二个下拉框中的选项。我该怎么做?我尝试了一些东西,但列表只是水平显示,我需要它垂直显示。
var teams = [
"Bambus Baumwolle Bettkasten",
" Baumwolle Bettkasten",
"Bambus Baumwolle Bettkasten",
" Baumwolle Bettkasten",
"Bambus Baumwolle Bettkasten"],
listTeam = function listTeam(sel) {
var val = document.getElementById('standings').value, //get the selected value
team = teams[val], //get the selected team, based on value
opt = document.createElement('option'), //create an <option> element
lb = document.getElementById('leaderBoard'), //get the leaderBoard select element
children = lb.children.length,
child = null,
i = 0; //incrementor
opt.innerText = team;
for (i = 0; i < children; i += 1) {
child = lb.children[0];
lb.removeChild(child);
}
lb.appendChild(opt);
};
listTeam();
<select id='standings' name='standings' onchange="listTeam(this)">
<option value='0'>A</option>
<option value='1'>B</option>
<option value='2'>C</option>
<option value='3'>D</option>
<option value='4'>E</option>
</select>
<select id='leaderBoard' name='leaderBoard' multiple="multiple" size="1" style="width: 100px;"></select>
<select>
元素中的每个值都是一个单独的<option>
元素。使用JavaScript字符串split
方法将名称字符串拆分为各个元素,然后为每个元素创建一个option
元素并将其放入列表中。
相关代码在这里,下面是完整的可运行示例。
var people = team.split(/'s/);
for (var j=0; j<people.length; j++) {
var opt = document.createElement('option')
opt.innerText = people[j];
lb.appendChild(opt);
}
此外,请注意,清除排行榜就像一样简单
lb.options.length = 0;
完整示例:
var teams = [
"Bambus Baumwolle Bettkasten",
" Baumwolle Bettkasten",
"Bambus Baumwolle Bettkasten",
" Baumwolle Bettkasten",
"Bambus Baumwolle Bettkasten"],
listTeam = function listTeam(sel) {
var val = document.getElementById('standings').value, //get the selected value
team = teams[val], //get the selected team, based on value
lb = document.getElementById('leaderBoard'); //get the leaderBoard select element
lb.options.length = 0;
var people = team.trim().split(/'s/);
for (var j=0; j<people.length; j++) {
var opt = document.createElement('option')
opt.innerText = people[j];
lb.appendChild(opt);
}
};
listTeam();
<select id='standings' name='standings' onchange="listTeam(this)">
<option value='0'>A</option>
<option value='1'>B</option>
<option value='2'>C</option>
<option value='3'>D</option>
<option value='4'>E</option>
</select>
<select id='leaderBoard' name='leaderBoard' multiple="multiple" size="1" style="width: 100px;"></select>
var teams = [
"Bambus Baumwolle Bettkasten",
" Baumwolle Bettkasten",
"Bambus Baumwolle Bettkasten",
" Baumwolle Bettkasten",
"Bambus Baumwolle Bettkasten"
],
listTeam = function (sel) {
var val = sel?sel.value:0, //get the selected value
team = teams[val], //get the selected team, based on value
lb = document.getElementById('leaderBoard'); //get the leaderBoard select
lb.options.length = 0;
optvals = team.split(" ");
for(i=0;i<optvals.length;i++) {
opt = document.createElement('option'); //create an <option> element
opt.text = optvals[i];
opt.value = i;
lb.add(opt);
}
};
listTeam();
相关文章:
- 在<页眉>标签
- 如何更改<svg>标记为<img>用js标记
- 在JavaScript中输出转义字符
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- Ajax文件加载和<输入>文件加载
- 为什么要使用0>javascript中的0
- 如何在jQuery中将函数的输出分配给变量
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 链接所有<a>Meteor
- 在<输入类型=“;文件“/>
- Div根据<选择>菜单
- Javascript,输出结果后页面不断刷新
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- RiotJS<产量/>生成空输出
- Tinymce删除<html>在文本区域中输出时标记
- Haxe->CommonJs(NodeJs)样式输出的Javascript目标
- 如何使用'>'以重定向Node.js中的输出
- Javascript<选择>输出
- DomDocument->输出更改后的html
- 单击列表中的项目->查看详细信息但没有输出?Firebase.child失败:第一个参数是无效路径