Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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
ВОПРОС: Списки я выбираю но, допустим пользователь выбрал Россию, а потом передумал выбрал Беларусь, как спрятать список с регионами России. перед каждым новым выбором скрывать списки открытые до этого и только после этого открывать новый... Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 26.06.2012, 14:08
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от DSHA
Может эта реализация и через опу
Это ты на страницу грузишь все для всех стран?
Если так - то таки да, через опу.
Ответить с цитированием
  #3 (permalink)  
Старый 26.06.2012, 14:10
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

DSHA,
Есть на jQuery древовидное меню от devote - можно его приспособить под
эту штуку Проблема с автоскрытием элементов навигации
по клику на нужную ссылку заносим нумер в инпут, - на серве нумер идентифицируем со всеми шагами выбора
Хотя можно и на клиенте выбрать всю последовательность выбора, к примеру проставив data="Тут что-то" в каждый тег LI

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

Сообщение от ksa Посмотреть сообщение
Это ты на страницу грузишь все для всех стран?
Если так - то таки да, через опу.
Там в БД 300 строк. только крупные города и не все страны... Сейчас это вообще одним списком в виде дерева грузится...
Ответить с цитированием
  #5 (permalink)  
Старый 26.06.2012, 14:21
Новичок на форуме
Отправить личное сообщение для DSHA Посмотреть профиль Найти все сообщения от DSHA
 
Регистрация: 26.06.2012
Сообщений: 7

Сообщение от ksa Посмотреть сообщение
Это ты на страницу грузишь все для всех стран?
Если так - то таки да, через опу.
Deff, спасибо смотрю ...
Ответить с цитированием
  #6 (permalink)  
Старый 26.06.2012, 14:45
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от DSHA
Там в БД 300 строк
Ну если так...
Если сделать свои комбобоксы - можно и поинтереснее придумать решение...
Ответить с цитированием
  #7 (permalink)  
Старый 26.06.2012, 20:20
Новичок на форуме
Отправить личное сообщение для DSHA Посмотреть профиль Найти все сообщения от DSHA
 
Регистрация: 26.06.2012
Сообщений: 7

Полсе изучения данной проблемы решил сделать вот так как в этом примере:
http://www.linkexchanger.su/2008/39.html
Всё прикрутил теперь думаю как из input отравлять на сервер не название города, а его ID в БД
Ответить с цитированием
  #8 (permalink)  
Старый 26.06.2012, 20:23
Новичок на форуме
Отправить личное сообщение для DSHA Посмотреть профиль Найти все сообщения от DSHA
 
Регистрация: 26.06.2012
Сообщений: 7

Как ещё паралельно создавть какой нибудь input hidden и отправлять на сервер его значение?

<script type="text/javascript">
02	$(document).ready(function(){
03	  $("#example").autocompleteArray([
04	    "Магадан",
05	    "Магас",
06	    "Магнитогорск",
07	    "Майкоп",
08	    ........
09	    "Муром",
10	    "Мценск",
11	    "Мыски",
12	    "Мытищи",
13	    "Мышкин"
14	    ],
15	    {
16	    delay:10,
17	    minChars:1,
18	    matchSubset:1,
19	    autoFill:true,
20	    maxItemsToShow:10
21	    }
22	  );
23	});
24	</script>
Ответить с цитированием
  #9 (permalink)  
Старый 26.06.2012, 22:07
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

DSHA,
Если использовать тот скрипт ?
Или ?
==========================
То можно по событию конечного выбора, ( клику по ссылке - не переходя по ссылке:
Либо: отправлять форму с нужным городом
Либо добавлять в форму поле с городом(если чел может выбрать несколько вариантов одновременно) - а окончательную отправку делать по кнопке
Ответить с цитированием
  #10 (permalink)  
Старый 27.06.2012, 00:40
Новичок на форуме
Отправить личное сообщение для DSHA Посмотреть профиль Найти все сообщения от DSHA
 
Регистрация: 26.06.2012
Сообщений: 7

Окончательную отправку делать по кнопке, но
Если использовать скрипт jQuery Autocomplete: автозаполнениет то по кнопке я на сервер отправлю название города, а мне необходимо отправить id_город... Вот я и подумал как этот скрипт заставить формировать параллельно ещё один input, но скрытый( hidden) значением которого и будет id_города.и отправлять это значение из формы на сервер по кнопке. эта форма регистраци пользователя на сайте он указывает свое место положение.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связанные списки Telnet AJAX и COMET 1 04.04.2011 21:18
взаимосвязанные выпадающие списки xDMK Серверные языки и технологии 37 11.11.2010 16:12
Зависимые списки (динамические списки но не каскадом) dmi3y jQuery 0 19.12.2009 02:03
динамические списки Shaci jQuery 0 14.12.2009 15:03
Выпадающие списки - динамика Страдающий AJAX и COMET 7 11.09.2009 18:25