Показать сообщение отдельно
  #14 (permalink)  
Старый 28.06.2012, 16:16
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

<select id="sel1">
  <option>Пункт 1</option>
  <option>Пункт 2</option>
  <option>Пункт 3</option>
  <option>Пункт 4</option>
</select>

<select id="sel2">
  <option value="0">Пункт 101 </option>
  <option value="0">Пункт 102 </option>
  <option value="0">Пункт 103 </option>
  <option value="1">Пункт 201 </option>
  <option value="1">Пункт 202 </option>
  <option value="1">Пункт 203 </option>
  <option value="2">Пункт 301 </option>
  <option value="2">Пункт 302 </option>
  <option value="2">Пункт 302 </option>
  <option value="3">Пункт 401 </option>
  <option value="3">Пункт 402 </option>
  <option value="3">Пункт 403 </option>
</select>

<select id="sel3">
  <option>Пункт 1</option>
  <option>Пункт 2</option>
  <option>Пункт 3</option>
  <option>Пункт 4</option>
</select>

<script>
window.onload = function () {//onload begin
  var sel1 = document.getElementById('sel1');
  var sel2 = document.getElementById('sel2');
  var sel3 = document.getElementById('sel3');
  var childs = sel2.options;
  var len = sel2.children.length;
  var index;
  var flag;

  for (var i = 0; i < len; i++) {
    index = sel1.selectedIndex;
    if (parseInt(childs[i].value) == index) {
      childs[i].style.display = 'block';
    } else {
      childs[i].style.display = 'none';
    }
  }

  sel1.onchange = function () {
    index = sel1.selectedIndex;
    flag = 0;
    for (var i = 0; i < len; i++) {
      if (parseInt(childs[i].value) == index) {
        if (flag == 0) {
          childs[i].style.display = 'block';
          sel2.selectedIndex = i;
          flag = 1;
        } else {
          childs[i].style.display = 'block';         
        }
      } else {
        childs[i].style.display = 'none';
      }
    }

    sel3.selectedIndex = sel1.selectedIndex; 
  }

}//onload end
</script>

Последний раз редактировалось bes, 28.06.2012 в 16:20.
Ответить с цитированием