Yun*_*Han 4 html forms html-select
Hellloooooo ......我有两个<select>像这样的输入
<select id="sel1">
<option value="a">a</option>
<option value="b">b</option>
</select>
<select id="sel2">
//if 'a' is selected above,
//<option>apple</option>, <option>airplane</option>
//if 'b' is selected above,
//<option>banana</option>, <option>book</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我想根据选择列出不同的选项集sel1.我可以使用onchange属性获取所选值,如下所示:
<select id="sel1" onchange="giveSelection(this)">
<script type="text/javascript">
function giveSelection(sel) {
var selected = sel.value;
}
</script>
Run Code Online (Sandbox Code Playgroud)
但是我无法想出一种方法来使用这个值来输出不同的选择选项sel2.请帮忙!
Leo*_*Leo 15
你几乎到了那里.正如您已经获得sel1的价值,剩下的就是sel1根据价值过滤选项.
var sel1 = document.querySelector('#sel1');
var sel2 = document.querySelector('#sel2');
var options2 = sel2.querySelectorAll('option');
function giveSelection(selValue) {
sel2.innerHTML = '';
for(var i = 0; i < options2.length; i++) {
if(options2[i].dataset.option === selValue) {
sel2.appendChild(options2[i]);
}
}
}
giveSelection(sel1.value);Run Code Online (Sandbox Code Playgroud)
<select id="sel1" onchange="giveSelection(this.value)">
<option value="a">a</option>
<option value="b">b</option>
</select>
<select id="sel2">
<option data-option="a">apple</option>
<option data-option="a">airplane</option>
<option data-option="b">banana</option>
<option data-option="b">book</option>
</select>Run Code Online (Sandbox Code Playgroud)