Java Script динамическое меню

Тема в разделе "Другие языки", создана пользователем twist, 6 ноя 2008.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. twist

    twist Создатель

    Регистр.:
    16 мар 2007
    Сообщения:
    39
    Симпатии:
    2
    Реализовываю динамическое меню, вида:

    Код:
    <script type="text/javascript" src="script.js"></script>
    
    ...
    
    window.onload = function() {
    	dynamicSelect("id1", "id2");
    	dynamicSelect("id2", "id3");
    }
    ...
    
    
      <form action="">
        <table border="0">
    <tr>
             <td>
    		 
    		 <select name="vv" id="id1">
             <option value="">Выберите id1</option>
             <option value="1">A</option>
             <option value="2">Б</option>
             <option value="3">В</option>
             </select>
    
    		 <select name="vv2" id="id2">
             <option value="">Выберите id2</option>
             <option class="1" value="1">A-A</option>
             <option class="1" value="2">А-Б</option>
             <option class="2" value="3">Б-А</option>
             <option class="2" value="4">Б-Б</option>
             <option class="3" value="5">В-А</option>
             <option class="3" value="6">В-Б</option>
             <option class="3" value="7">В-В</option>
             </select>
             
    		 <select name="vv3" id="id3">
    		 <option value="">Выберите id3</option>
             <option class="1" value="1">A-A-А</option>
             <option class="1" value="2">A-A-Б</option>
             <option class="2" value="3">A-Б-А</option>
             <option class="3" value="4">Б-A-А</option>
             <option class="4" value="5">Б-Б-А</option>
             <option class="4" value="6">Б-Б-Б</option>
             <option class="4" value="7">Б-Б-В</option>
    		 </select>
    		 
    		 </td>
    </tr>
    
    <tr>
            <td>
    		<input type="reset" value="Очистить">
    		<input type="submit" value="Submit"></td>
          </tr>
    
        </table>
      </form>
    Возникает неопределенность при сбросе формы, сбрасывается только id1, а остальные сбрасываются до первого пункта ранее выбранного class'a.

    Не подскажете как правильно реализовать сие, чтоб все адекватно было

    script.js прикладываю
     

    Вложения:

    • script.txt
      Размер файла:
      1,6 КБ
      Просмотров:
      25
  2. serg_g

    serg_g Создатель

    Регистр.:
    31 окт 2008
    Сообщения:
    35
    Симпатии:
    9
    при очистке селекта вместо
    PHP:
    while (sel2.options.length) {
      
    sel2.remove(0);
     }
    ставим
    PHP:
    for (i=sel2.options.length-10i--){
          
    sel2.remove(i);
    }    
    то есть не удаляем нулевой элемент

    и при сборке селекта
    PHP:
    // Перебор клонированных элементов списка
     
    for (var 0clonedOptions.lengthi++) {
    ставим var i = 1 - не добавляем нулевой элемент
     
    twist нравится это.
  3. twist

    twist Создатель

    Регистр.:
    16 мар 2007
    Сообщения:
    39
    Симпатии:
    2
    все проблема решена полностью, за что собственно спасибо. Даже решилась еще одна проблема при выборе первого селекта, раньше появлялся выбор второго селекта на первой позиции но для третьего селекта это не было основанием для выбора!!! Теперь все ОК. Универсально
     
Статус темы:
Закрыта.