2011-09-23 62 views
0

我有一个多选,第一个选项为“全部”和其他选项。我想要做的是当选择“全部”时,A,B,C,D将取消选择,但选择A,B,C,D,选择“全部”。在移动Safari中的多个选择

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,这样一个变化不大将帮助:

for(var x = 1; x < select.length; x++) {