Показать сообщение отдельно
  #1 (permalink)  
Старый 26.06.2012, 13:56
Новичок на форуме
Отправить личное сообщение для DSHA Посмотреть профиль Найти все сообщения от DSHA
 
Регистрация: 26.06.2012
Сообщений: 7

Зависимые списки!
Здравствуйте! Возникла задача создать интерфес ввода населённого пункта по шагово, сначала пользователь выбирает страну, поотм регион и так далее... Классическая задача, но я до этого только вставлял готовые javaскрипты, куда надо и не разрабатывал их сам, сейчас надо релаизовать это самому... AJAX не подходит... поэтому поступил следющим образом: Формирую на стороне сервера списки
по типу:
Видимый
<select size="1" onchange="List_block();" name="region_id" class="block" id="parent">
<option value="23" id="23">Выбрать страну</option>
<option value="231">Россия</option>
<option value="258">Республика беларусь</option>
<option value="264">Латвия</option>
<option value="266">Украина</option>
<option value="272">Эстония</option>
<option value="274">Литва</option>
<option value="276">Казахстан</option>
</select>

Скрытые:
Их несколько для каждой страны
Код:
<select size="1" onchange="List_block(3);" name="region_258" class="hidden" id="258">
<option value="23" id="23">Выбрать регион</option>
<option value="259" id="259">Минск</option>
<option value="260" id="260">Брест</option>
<option value="261" id="261">Витебск</option>
<option value="262" id="262">Гомель</option>
<option value="263" id="263">Гродно</option>
</select>
Пири выбре страны пользователю паказывается список у которого ID совпадает значением valu.
Меняю значение свойства display на bloc ниже приведённым скриптом:
function List_block(){
	var a = document.getElementById("parent").value^;
	document.getElementById(a).style.display='none'^;
	document.getElementById(a).style.display='block'^;
	var key=a^;
}

Может эта реализация и через опу, но я делал по методу минимум JS
ВОПРОС: Списки я выбираю но, допустим пользователь выбрал Россию, а потом передумал выбрал Беларусь, как спрятать список с регионами России. перед каждым новым выбором скрывать списки открытые до этого и только после этого открывать новый... Спасибо.
Ответить с цитированием