簡體   English   中英

多選,禁用選項

[英]Multiple select, disable option

對於禁用選項我使用這個:

 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>

但是這個工作只有2個選擇。 我需要這個多選的工作。 謝謝!

我不確定你想做什么,如果你的方法很好,但試試我的代碼。 它會工作

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>

在我的腳本中,例如在第一個選擇中選擇 2,在第二個中清除 4 和 3,然后保留 1 和 2。(4 - 2 = 2)。 它運作良好,但現在我可以用最多的選擇做同樣的工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM