在Mobile Safari中进行多项选择

时间:2011-09-23 09:45:40

标签: javascript html

我有一个多选,第一个选项为“全部”和其他选项。我要做的是当选择“全部”时,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);

我的问题是,当您选择选项时,在您从选择框中滚出视图之前,它们不会显示取消选择。

请协助。

由于

1 个答案:

答案 0 :(得分:0)

小错字 - 您正在与其他选项一起清除0,因此一点改变将有所帮助:

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