2015-07-03 3 views
-3

для отключения опции им с помощью этого:множественного выбора, возможность отключения

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 выбора. Мне нужна эта работа с несколькими выборами. Спасибо!

+1

Не понимаю? – Liam

+0

<выбрать несколько ....> – jeff

ответ

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> 
0

в моем сценарии, выбирая, например, 2 в первом выбрать, во втором снимите 4 и 3, а затем остается 1 и 2. (4 - 2 = 2). Он работает хорошо, но теперь я могу сделать то же самое с самым большим выбором

Смежные вопросы