Динамический выбор, несколько уровней.
Доброе время суток!
У меня такое затруднение(я плохо смыслю в JS, ксожалению) Мне надо сделать динамические списки выпадающего меню т.е. от выбора в первом выпадающем меню зависит что будет выпадать в другом. Пример: при выборе улицы Ленина появляется номера домов которые находятся на этой улице, соответственно то же самое при выборе улицы Маркса, к примеру. Затем фамилии жителей этих домов. Зарание примногоблагодарен, а то не знаю как дальше:( |
Цитата:
прочитайте эту статью: AJAX по поводу же алгоритма, подобные темы уже рассмотривались на форуме: тег option <<многоуровневый>> помимо этого просмотрите все темы выдаваемые поиском по форуму по слову "SELECT" после прочтения вышеуказанного материала у вас должно получится PS помимо указанных выше материалов, необходимых для решения вашей конкретной задачи, советую прочитать весь цикл статей на этом сайте, с целью большего владения JS |
Спасибо за ссылки!
Спасибо за ссылки!
Я так понимаю AJAX это PHP, мне надо сделать всё на JS. Я кое что читаю сейчас, вот что есть: <html> <head> <title>Выберите</title> <script> function dinform() { if (document.forms["list"].razd1.options[0].selected) { document.forms["list"].razd2.options[0].selected = true document.forms["list"].razd2.options[1].selected = true } if (document.forms["list"].razd1.options[1].selected) { document.forms["list"].razd2.options[2].selected = true document.forms["list"].razd2.options[3].selected = true } } </script> </head> <body> <form name="list"> <select name="razd1" onChange="dinform()"> <option value=1>Раздел1 <option value=2>Раздел2 </select> <br><br> <select name="razd2"> <option value=1>Раздел11 <option value=2>Раздел12 <option value=3>Раздел21 <option value=4>Раздел22 </select> </form> </body> </html> Мне бы возможность добавить\удалить раздел впервый и второй и последующие списки. Это через var только? А вывод текстов из файла только через AJAX? |
Убедительная просьба:оборачивайте куски кода в специальные теги, а то читать невозможно.
Цитата:
Нет, AJAX это не PHP. но AJAX позваляет JS делать запрос на сервер.к примеру к PHP скрипту.но не обязательно. к тому же у вас явно не только с JS проблемы. С HTML у вас тоже сильные проблемы.Вас не учили, что теги в большинстве своем следует закрывать. посмотрите как здесь сделан список, и найдите отличия от вашего HTML-а Цитата:
Цитата:
судя по стилю ваших вопросов вас следует: 1)чуточку больше изучить HTML,JS,etc... вы вообще по ходу не владеете материалом. 2)закончить хотя бы среднее общеобразовательное учреждение.или сходить на какие-нибудь курсы по улучшению своей речи.или что-то в подобном роде. короче говоря, если первый ваш пост был понятен, то второй практически не поддается полному осмыслению.выражайтесь яснее PS если вам говорят прочитать какой-то материал, то наверно следует так и сделать. пройдите и прочитайте материалы указанные в моем первом посте.и не халявте, пройдитесь по всем подразделам статьи, и по всем темам, указанным мною |
Цитата:
Цитата:
при выборе улицы Ленина появляется номера домов которые находятся на этой улице, причем номера домов появляются в новом выпадающем списке! Я хочу, что бы была возможность добавлять, заменять и удалять названия улиц, а так же дома которые находятся на этих улицах. И соответственно был вопрос: Цитата:
Да я конечно прочту то что вы мне дали. Спасибо. |
Цитата:
где и как вы предполагаете хранить названия улиц, соответствующие им номера домов, и фамилии жильцов? если статично внутри JS-кода, то это будет гемороем вбивать все руками. к тому же этот кусок кода будет слишком много весить(для более-менее порядочного количества улиц-домов-людей) Если вы хотите постоянно редактировать этот список, то это вообще нереально делать вручную в JS-коде,если вы конечно немного ленивый (как и многие) человек, имеющий скрверную привычку спать раз в сутки, и заниматся посторонними делами лучше всего будет, если вы задействуете PHP+MySQL, например для хранения всех этих данных. что же по поводу линамического формирования option-а, то я дал достаточно ссылок, чтобы начать реализовывать клиентскую часть. В общем, всем необходимым я вас снабдил.пробуйте.если не будет получатся обращайтесь с конкретными вопросами PS повторюсь.в принципе можно и без PHP+MySQL.но при этом будут матерится все.вы, когда будете добавлять десяток новых улиц,, с новыми домами.пользователи, которые будут грузить многометровый список улиц |
Спасибо за развёрнутый ответ! Да, но мне надо занести не много данных, да и редактироватся он будет максмум раз в полгода!
Вся загвозда в том, что всё должно быть в JS! |
задайте массив в таком виде:
var list={ 'ул.Ленина':{ '12':['Иванов','Петров'], '13':['Иванов','Петров'], '14':['Иванов','Петров'] }, 'ул.Конной Армии':{ '12':['Иванов','Петров'], '13':['Иванов','Петров'], '14':['Иванов','Петров'] } }; alert(list['ул.Конной Армии']['13'][1]); теперь вы можете работать с такого рода списком, без использования PHP+MySQL |
немного не по теме
Цитата:
Цитата:
|
//Допустим у вас есть списки:
<SELECT id="street" onchange="changestreet();"></SELECT> <SELECT id="doma" onchange="changedoml();"></SELECT> ..... // Далее в скрипте Списки каким-то образом заполняются начальными значениями а потом идет обработчик function changestreet(){ val=document.getElementById("street").value; sel = document.getElementById("doma"); //Получаем ссылку на список "дома" sel.options.length = 0; //обнуляем старый список домов if(val=='Маркса-Энгельса'){ //Заполняем список номеров домов по новой улице } } |
Часовой пояс GMT +3, время: 16:20. |