09.03.2009, 23:05
|
Новичок на форуме
|
|
Регистрация: 09.03.2009
Сообщений: 5
|
|
Динамический выбор, несколько уровней.
Доброе время суток!
У меня такое затруднение(я плохо смыслю в JS, ксожалению)
Мне надо сделать динамические списки выпадающего меню т.е. от выбора в первом выпадающем меню зависит что будет выпадать в другом.
Пример: при выборе улицы Ленина появляется номера домов которые находятся на этой улице, соответственно то же самое при выборе улицы Маркса, к примеру. Затем фамилии жителей этих домов.
Зарание примногоблагодарен, а то не знаю как дальше
|
|
09.03.2009, 23:20
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Сообщение от ursa
|
Зарание примногоблагодарен, а то не знаю как дальше
|
дальше чем что?я так смотрю дальше идеи вы не продвинулись.
прочитайте эту статью: AJAX
по поводу же алгоритма, подобные темы уже рассмотривались на форуме:
тег option <<многоуровневый>>
помимо этого просмотрите все темы выдаваемые поиском по форуму по слову "SELECT"
после прочтения вышеуказанного материала у вас должно получится
PS помимо указанных выше материалов, необходимых для решения вашей конкретной задачи, советую прочитать весь цикл статей на этом сайте, с целью большего владения JS
Последний раз редактировалось Gvozd, 09.03.2009 в 23:22.
|
|
09.03.2009, 23:56
|
Новичок на форуме
|
|
Регистрация: 09.03.2009
Сообщений: 5
|
|
Спасибо за ссылки!
Спасибо за ссылки!
Я так понимаю 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?
|
|
10.03.2009, 01:25
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Убедительная просьба:оборачивайте куски кода в специальные теги, а то читать невозможно.
Сообщение от ursa
|
Я так понимаю AJAX это PHP, мне надо сделать всё на JS.
|
вы внимательно читали?
Нет, AJAX это не PHP.
но AJAX позваляет JS делать запрос на сервер.к примеру к PHP скрипту.но не обязательно.
к тому же у вас явно не только с JS проблемы. С HTML у вас тоже сильные проблемы.Вас не учили, что теги в большинстве своем следует закрывать.
посмотрите как здесь сделан список, и найдите отличия от вашего HTML-а
Сообщение от ursa
|
Мне бы возможность добавить\удалить раздел впервый и второй и последующие списки. Это через var только?
|
нихрина непоянтно.выражайтесь яснее
Сообщение от ursa
|
А вывод текстов из файла только через AJAX?
|
ну, еще через iframe можно.
судя по стилю ваших вопросов вас следует:
1)чуточку больше изучить HTML,JS,etc...
вы вообще по ходу не владеете материалом.
2)закончить хотя бы среднее общеобразовательное учреждение.или сходить на какие-нибудь курсы по улучшению своей речи.или что-то в подобном роде.
короче говоря, если первый ваш пост был понятен, то второй практически не поддается полному осмыслению.выражайтесь яснее
PS если вам говорят прочитать какой-то материал, то наверно следует так и сделать.
пройдите и прочитайте материалы указанные в моем первом посте.и не халявте, пройдитесь по всем подразделам статьи, и по всем темам, указанным мною
|
|
10.03.2009, 22:15
|
Новичок на форуме
|
|
Регистрация: 09.03.2009
Сообщений: 5
|
|
Сообщение от Gvozd
|
что теги в большинстве своем следует закрывать.
|
Да спасибо, закрою. В данном случае я думал можно и не закрывать, видел подобный пример...
Сообщение от Gvozd
|
нихрина непоянтно.выражайтесь яснее
|
Вот пример с домами...
при выборе улицы Ленина появляется номера домов которые находятся на этой улице, причем номера домов появляются в новом выпадающем списке!
Я хочу, что бы была возможность добавлять, заменять и удалять названия улиц, а так же дома которые находятся на этих улицах. И соответственно был вопрос:
Сообщение от Gvozd
|
Это через var только?
|
Так понятнее??
Да я конечно прочту то что вы мне дали. Спасибо.
|
|
11.03.2009, 20:40
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Сообщение от ursa
|
Я так понимаю AJAX это PHP, мне надо сделать всё на JS.
|
такую вещь без ПХП будет затруднительно сделать.
где и как вы предполагаете хранить названия улиц, соответствующие им номера домов, и фамилии жильцов?
если статично внутри JS-кода, то это будет гемороем вбивать все руками.
к тому же этот кусок кода будет слишком много весить(для более-менее порядочного количества улиц-домов-людей)
Если вы хотите постоянно редактировать этот список, то это вообще нереально делать вручную в JS-коде,если вы конечно немного ленивый (как и многие) человек, имеющий скрверную привычку спать раз в сутки, и заниматся посторонними делами
лучше всего будет, если вы задействуете PHP+MySQL, например для хранения всех этих данных. что же по поводу линамического формирования option-а, то я дал достаточно ссылок, чтобы начать реализовывать клиентскую часть.
В общем, всем необходимым я вас снабдил.пробуйте.если не будет получатся обращайтесь с конкретными вопросами
PS повторюсь.в принципе можно и без PHP+MySQL.но при этом будут матерится все.вы, когда будете добавлять десяток новых улиц,, с новыми домами.пользователи, которые будут грузить многометровый список улиц
|
|
11.03.2009, 21:06
|
Новичок на форуме
|
|
Регистрация: 09.03.2009
Сообщений: 5
|
|
Спасибо за развёрнутый ответ! Да, но мне надо занести не много данных, да и редактироватся он будет максмум раз в полгода!
Вся загвозда в том, что всё должно быть в JS!
|
|
11.03.2009, 21:39
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
задайте массив в таком виде:
var list={
'ул.Ленина':{
'12':['Иванов','Петров'],
'13':['Иванов','Петров'],
'14':['Иванов','Петров']
},
'ул.Конной Армии':{
'12':['Иванов','Петров'],
'13':['Иванов','Петров'],
'14':['Иванов','Петров']
}
};
alert(list['ул.Конной Армии']['13'][1]);
теперь вы можете работать с такого рода списком, без использования PHP+MySQL
|
|
12.03.2009, 09:58
|
Профессор
|
|
Регистрация: 27.02.2009
Сообщений: 215
|
|
немного не по теме
Сообщение от ursa
|
Спасибо за ссылки!
Я так понимаю AJAX это PHP, мне надо сделать всё на JS.
......
|
В первой ссылке ведь русским по-белому написано:
Цитата:
|
...AJAX - это уже javascript, почему бы не добавить еще javascript? ...
|
*WALL*
|
|
12.03.2009, 11:20
|
Интересующийся
|
|
Регистрация: 12.03.2009
Сообщений: 14
|
|
//Допустим у вас есть списки:
<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=='Маркса-Энгельса'){
//Заполняем список номеров домов по новой улице
}
}
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Выбор из таблицы |
HOmevl |
Общие вопросы Javascript |
4 |
15.09.2011 01:40 |
Выбор фреймворка |
маина |
Библиотеки/Тулкиты/Фреймворки |
12 |
14.03.2009 22:21 |
|
|
|