Javascript - связать два селекта
Думаю хранить список всех городов, и для каждого - из какого он региона... а при изменении выбранного в первом селекте - очищать второй и дописываьт к нему те города, которые из нужного региона
эт понятно... Просто там еще всякие дата-биндинги есть, в которых я не шарю. Думал, может, на них всё это...
XMLHttpRequest
мдя...не очень пока там всё ясно
http://www.webmascon.com/topics/technologies/13a.asp
Нормально держится везде кроме старых Опер.
Да все просто, вот хоть тут почитай: Нормально держится везде кроме старых Опер.
нда... давно я не сталкивался с кроссбраузерным геморроем
часто в таких ситуациях по выбору элемента в селекте вешают отправку формы. Пользователь только ощущает задержку, а ты испытываешь облегчение процесса разработки и обеспечения совместимости:)
А загрузка в список сразу всех городов и выборка скриптом почему не приемлема?
тащить много возможно ненужной информации
Вот тут у меня сомнения и возникли. Разве список всех городов настолько огромен?
В твоем варианте, будут дикие тормоза на стороне клиента при перерисовке
Если у него 90 регионов и в каждом по 200 городов, то лучше перегружать страницу. Или подгружать инфу через XML.
А что именно ему надо - фик знает.
Вот мне и интересно, в каком регионе может быть двести городов...
В любом, если считать деревушки всякие. Все зависит от того, какая нужна детальность.
примерно 20 по 40
800 городов - разве это много?
чтоб их каждый раз грузить? Прилично... К тому же их список постоянно расширяется и менять каждый раз скрипт...
Сделай .js, в котором будет этот массив 2*800 - и каждый раз подгружай его... при изменении списка надо будет только отредактировать этот .js...
очень мне в кайф все время его редактировать... тем более, что добавлять регионы и города будет даже не мой отдел и даже далеко не всегда люди из Москвы
Вообще 800 городов это примерно 7кб трафика.
Даже если ты будешь их просто в странице без .js выкидывать получится немного.
Тормозов со стороны клиента такой объем данных не вызовет.
Надо его один раз правильно написать просто -)
угу... чтоб PHP с забором из базы забирался как JS. Очч оптимально. Не... я лучше вон ту фишку порюхаю с первой страницы
Бррр. Какая тебе разница что в пхпм скрипте генерить - html, xml или js?
да мне-то никакой, но региональным редакторам на диалапах...
Если тебе важно экономить трафик, то рюхай работу с XMLRequest'м, тут ничего другого не остается.
Только сначала убедись, что у тебя вся страница не весит 80к -)
нет, вся страница - это форма на 1-2К. А еще 78-79 будут занимать option'ы с регионами и городами...
Федя, ты порядок перепутал -)
там, кроме этих двух полей, еще только три-четыре textarea, которые заполняются вручную
Ну и что?
ну они-то минимум кода занимают... и браузер не тревожат нисколько... а вот эти два поля
Ну сам посуди
<textarea></textarea>
Не будут же они в них сочинения писать
там больше аргументы занимают, если что
несколько геморней, но без XMLHttpRequest
на счёт кроссбраузерности спорить не буду, с 7-й оперой вроде работало
на счёт скорости и объёмов можешь прикинуть - там вобщем-то весь КЛАДР загружен
option'ы не будут занимать практически нисколько, если их генерить на стороне клиента.
только у них values должны быть индепендент, мать их
Почему это?
так мне их потом в базу пхать
только у них values должны быть индепендентВ смысле?
<select name=city>
<option value=1>Масква</option>
<option value=2>Саратаф</option>
</select>
- вот тут много селектов и всё работает внутри страницы.
во-во-во. Именно такое и надо. Только поменьше:)
Может я ошибаюсь конечно...
вполне возможно, ибо мощно яваскриптом никогда не занимался - так, красивости всякие только
http://www.rusmarket.ru/cgi-bin/my-rm/company_modify.pl?tari... и ведь работает и не жужжит!
В конце концов, <script src="/cgi-bin/dynamic_script.pl"> тоже никто не отменял (правда жопа с поддержкой кажися)
Короче, Федечка, за то время, пока эта тема обсуждается, половину из предложенных вариантов уже можно было триста раз реализовать. Дерзай.
Да пусть попробует так, сяк, как-то иначе, все равно без знания специфики задачи трудно сказать, что именно будет оптимальнее. 20 х 40 городов - это тоже нифига не дофига, вот тут, к примеру, можно увидет пример аццкого классификатора: В конце концов, <script src="/cgi-bin/dynamic_script.pl"> тоже никто не отменял (правда жопа с поддержкой кажися)
Короче, Федечка, за то время, пока эта тема обсуждается, половину из предложенных вариантов уже можно было триста раз реализовать. Дерзай.
В яваскрипте есть фнукция, вставляющая в нужный селект новую option... подгружаешь к странице стандартным хтмл-ем явяскрипт со списком городов, и потом при изменении выбранного значения в выборе региона, очищаешь яваскриптом второй селект и вставляешь в него то, что надо...
так и буду делать... Кстати, как это сделать? innerHTML?
Нет... там какая-то специальная функция... посмотри в мануале список методов объекта <SELECT>...
ага, гляну... сенкс
Сперва обнуляешь длину этой коллекции, потом с помощью метода генеришь опшины.
Фсе
посмотри регистрацию на rosmu.ru
Оставить комментарий
uncle17
есть подряд два селекта. Один - выбор региона, второй - выбор города. Как сделать, чтобы при выборе региона автоматом во второй селект подгружался нужный список городов?Много где такое сделано, но как оптимальней?