我有一个多选,第一个选项为“全部”和其他选项。我要做的是当选择“全部”时,A,B,C,D将取消选择,但选择A,B,C,D,“全部”未被选中。
HTML:
<select name="filter" id="filter-select" multiple="multiple">
<option id="All" value="All">All</option>
<option id="A" value="A">A</option>
<option id="B" value="B">B</option>
<option id="C" value="C">C</option>
<option id="D" value="D">D</option>
<option id="E" value="E">E</option>
<option id="F" value="F">F</option>
<option id="G" value="G">G</option>
<option id="H" value="H">H</option>
</select>
JavaScript的:
function UnselectAll() {
var select = document.getElementById('filter-select');
if(select.options[select.selectedIndex].id != 'All' ) {
select[0].selected = false;
} else {
for(var x = 0; x < select.length; x++) {
select[x].selected = false;
}
}
}
document.getElementById('filter-select').addEventListener('change', UnselectAll, false);
我的问题是,当您选择选项时,在您从选择框中滚出视图之前,它们不会显示取消选择。
请协助。
由于
答案 0 :(得分:0)
小错字 - 您正在与其他选项一起清除0,因此一点改变将有所帮助:
for(var x = 1; x < select.length; x++) {