Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Заблокировать выподающий список по условию


Автор: Alix36 1.5.2008, 08:33
В форме 3 выпадающих списка.
Код

<select name="select1" class="spis"  onchange="">
            <option>к</option>
          </select>
<select name="select2" class="spis"  onchange="">
            <option>к</option>
          </select>
<select name="select3" class="spis"  onchange="">
            <option>к</option>
          </select>

Нужно что бы при выборе любого значения в одном из списков блокировались два остальных(disabled="disabled")
Это можно сделать через onchange="", но возникают 2 проблемы.
1) как заблокировать. Т.е. какое CSS свойство соответствует disabled.
2) если пользователь передумал и хочет поменять свой выбор,как сделать так что бы при возврате к значению списка по умолчанию списки разблокировались.?

Автор: Grig 1.5.2008, 10:48
примерно вот так вот:
Код

<html>
<head>
<script>
function disable_func(id){
    var selects=document.getElementsByTagName("SELECT");
    
    var current_select=document.getElementById(id);
    var current_text=current_select.options[current_select.selectedIndex].text;
    
    for(var i=0;i<selects.length;i++){
        if(selects[i].id!=id){
        if(current_text!="")    {
            selects[i].disabled=true;
        }else{
            selects[i].disabled=false;            
        }
        }
    }
}
</script>
</head>
<body>

<select id="select1" class="spis"  onchange="disable_func(this.id)">
            <option></option>
            <option>к</option>
          </select>
<select id="select2" class="spis"  onchange="disable_func(this.id)">
            <option></option>
            <option>к</option>
          </select>
<select id="select3" class="spis"  onchange="disable_func(this.id)">
            <option></option>
            <option>к</option>
          </select>

</body>
</html>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)