多选,禁用选项

时间:2015-07-03 16:16:32

标签: javascript html-select

使用此选项禁用选项:



function handleSelection(source, dest) {
    
    itemRemove = dest.length - source.selectedIndex;
    for(i=dest.length-1; i>=itemRemove; i--){
        dest.options[i].disabled = true;
    }
}

<select id="s1" onchange="handleSelection(this, s2)">
    <option value="0">0</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
</select>
<select id="s2" onchange="handleSelection(this, s1)">
    <option value="0">0</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
</select>
&#13;
&#13;
&#13;

但这个工作只有2个选择。我需要多个选择这个工作。 谢谢!

2 个答案:

答案 0 :(得分:0)

我不确定你要做什么,如果你接近是好的,但试试我的代码。它会起作用

function handleSelection(source, destArr) {
    for( dest in destArr){}
        itemRemove = dest.length - source.selectedIndex;
        for(i=dest.length-1; i>=itemRemove; i--){
            dest.options[i].disabled = true;
        }
    }
}

<select id="s1" onchange="handleSelection(this, [s2,s3,s5])">
    <option value="0">0</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
</select>
<select id="s2" onchange="handleSelection(this, [s6,s7,s8])">
    <option value="0">0</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
</select>

答案 1 :(得分:0)

在我的脚本中,在第一个选择中选择示例2,在第二个选择清除4和3,然后保持1和2.(4 - 2 = 2)。它运作良好,但现在我可以用最精选的

做同样的工作