Просмотр полной версии : Динамический выбор, несколько уровней.
Доброе время суток!
У меня такое затруднение(я плохо смыслю в JS, ксожалению)
Мне надо сделать динамические списки выпадающего меню т.е. от выбора в первом выпадающем меню зависит что будет выпадать в другом.
Пример: при выборе улицы Ленина появляется номера домов которые находятся на этой улице, соответственно то же самое при выборе улицы Маркса, к примеру. Затем фамилии жителей этих домов.
Зарание примногоблагодарен, а то не знаю как дальше:(
Зарание примногоблагодарен, а то не знаю как дальше
дальше чем что?я так смотрю дальше идеи вы не продвинулись.
прочитайте эту статью: AJAX (http://javascript.ru/ajax)
по поводу же алгоритма, подобные темы уже рассмотривались на форуме:
тег option <<многоуровневый>> (http://javascript.ru/forum/dom-window/1263-teg-option-mnogourovnevyjj.html#post2709)
помимо этого просмотрите все темы выдаваемые поиском по форуму по слову "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, мне надо сделать всё на JS.
вы внимательно читали?
Нет, AJAX это не PHP.
но AJAX позваляет JS делать запрос на сервер.к примеру к PHP скрипту.но не обязательно.
к тому же у вас явно не только с JS проблемы. С HTML у вас тоже сильные проблемы.Вас не учили, что теги в большинстве своем следует закрывать.
посмотрите как здесь (http://htmlbook.ru/html/select.html) сделан список, и найдите отличия от вашего HTML-а
Мне бы возможность добавить\удалить раздел впервый и второй и последующие списки. Это через var только?
нихрина непоянтно.выражайтесь яснее
А вывод текстов из файла только через AJAX?
ну, еще через iframe можно.
судя по стилю ваших вопросов вас следует:
1)чуточку больше изучить HTML,JS,etc...
вы вообще по ходу не владеете материалом.
2)закончить хотя бы среднее общеобразовательное учреждение.или сходить на какие-нибудь курсы по улучшению своей речи.или что-то в подобном роде.
короче говоря, если первый ваш пост был понятен, то второй практически не поддается полному осмыслению.выражайтесь яснее
PS если вам говорят прочитать какой-то материал, то наверно следует так и сделать.
пройдите и прочитайте материалы указанные в моем первом посте.и не халявте, пройдитесь по всем подразделам статьи, и по всем темам, указанным мною
что теги в большинстве своем следует закрывать.
Да спасибо, закрою. В данном случае я думал можно и не закрывать, видел подобный пример...
нихрина непоянтно.выражайтесь яснее
Вот пример с домами...
при выборе улицы Ленина появляется номера домов которые находятся на этой улице, причем номера домов появляются в новом выпадающем списке!
Я хочу, что бы была возможность добавлять, заменять и удалять названия улиц, а так же дома которые находятся на этих улицах. И соответственно был вопрос: Это через var только?
Так понятнее??
Да я конечно прочту то что вы мне дали. Спасибо.
Я так понимаю AJAX это PHP, мне надо сделать всё на JS.
такую вещь без ПХП будет затруднительно сделать.
где и как вы предполагаете хранить названия улиц, соответствующие им номера домов, и фамилии жильцов?
если статично внутри JS-кода, то это будет гемороем вбивать все руками.
к тому же этот кусок кода будет слишком много весить(для более-менее порядочного количества улиц-домов-людей)
Если вы хотите постоянно редактировать этот список, то это вообще нереально делать вручную в JS-коде,если вы конечно немного ленивый (как и многие) человек, имеющий скрверную привычку спать раз в сутки, и заниматся посторонними делами
лучше всего будет, если вы задействуете PHP+MySQL, например для хранения всех этих данных. что же по поводу линамического формирования option-а, то я дал достаточно ссылок, чтобы начать реализовывать клиентскую часть.
В общем, всем необходимым я вас снабдил.пробуйте.если не будет получатся обращайтесь с конкретными вопросами
PS повторюсь.в принципе можно и без PHP+MySQL.но при этом будут матерится все.вы, когда будете добавлять десяток новых улиц,, с новыми домами.пользователи, которые будут грузить многометровый список улиц
Спасибо за развёрнутый ответ! Да, но мне надо занести не много данных, да и редактироватся он будет максмум раз в полгода!
Вся загвозда в том, что всё должно быть в JS!
задайте массив в таком виде:
var list={
'ул.Ленина':{
'12':['Иванов','Петров'],
'13':['Иванов','Петров'],
'14':['Иванов','Петров']
},
'ул.Конной Армии':{
'12':['Иванов','Петров'],
'13':['Иванов','Петров'],
'14':['Иванов','Петров']
}
};
alert(list['ул.Конной Армии']['13'][1]);
теперь вы можете работать с такого рода списком, без использования PHP+MySQL
немного не по теме
Спасибо за ссылки!
Я так понимаю AJAX это PHP, мне надо сделать всё на JS.
......
В первой ссылке ведь русским по-белому написано: (http://javascript.ru/ajax/tutorial)
...AJAX - это уже javascript, почему бы не добавить еще javascript? ...
*WALL*
lliberty
12.03.2009, 11:20
//Допустим у вас есть списки:
<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=='Маркса-Энгельса'){
//Заполняем список номеров домов по новой улице
}
}
Gvozd
AzriMan
lliberty
Спасибо за ответ! Если будут вопросы спрошу)
Профессор[/QUOTE]AzriMan
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot