Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.03.2009, 23:05
Новичок на форуме
Отправить личное сообщение для ursa Посмотреть профиль Найти все сообщения от ursa
 
Регистрация: 09.03.2009
Сообщений: 5

Динамический выбор, несколько уровней.
Доброе время суток!
У меня такое затруднение(я плохо смыслю в JS, ксожалению)
Мне надо сделать динамические списки выпадающего меню т.е. от выбора в первом выпадающем меню зависит что будет выпадать в другом.
Пример: при выборе улицы Ленина появляется номера домов которые находятся на этой улице, соответственно то же самое при выборе улицы Маркса, к примеру. Затем фамилии жителей этих домов.

Зарание примногоблагодарен, а то не знаю как дальше
Ответить с цитированием
  #2 (permalink)  
Старый 09.03.2009, 23:20
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от ursa
Зарание примногоблагодарен, а то не знаю как дальше
дальше чем что?я так смотрю дальше идеи вы не продвинулись.
прочитайте эту статью: AJAX

по поводу же алгоритма, подобные темы уже рассмотривались на форуме:
тег option <<многоуровневый>>
помимо этого просмотрите все темы выдаваемые поиском по форуму по слову "SELECT"
после прочтения вышеуказанного материала у вас должно получится
PS помимо указанных выше материалов, необходимых для решения вашей конкретной задачи, советую прочитать весь цикл статей на этом сайте, с целью большего владения JS

Последний раз редактировалось Gvozd, 09.03.2009 в 23:22.
Ответить с цитированием
  #3 (permalink)  
Старый 09.03.2009, 23:56
Новичок на форуме
Отправить личное сообщение для ursa Посмотреть профиль Найти все сообщения от ursa
 
Регистрация: 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?
Ответить с цитированием
  #4 (permalink)  
Старый 10.03.2009, 01:25
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 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 если вам говорят прочитать какой-то материал, то наверно следует так и сделать.
пройдите и прочитайте материалы указанные в моем первом посте.и не халявте, пройдитесь по всем подразделам статьи, и по всем темам, указанным мною
Ответить с цитированием
  #5 (permalink)  
Старый 10.03.2009, 22:15
Новичок на форуме
Отправить личное сообщение для ursa Посмотреть профиль Найти все сообщения от ursa
 
Регистрация: 09.03.2009
Сообщений: 5

Сообщение от Gvozd
что теги в большинстве своем следует закрывать.
Да спасибо, закрою. В данном случае я думал можно и не закрывать, видел подобный пример...
Сообщение от Gvozd
нихрина непоянтно.выражайтесь яснее
Вот пример с домами...
при выборе улицы Ленина появляется номера домов которые находятся на этой улице, причем номера домов появляются в новом выпадающем списке!
Я хочу, что бы была возможность добавлять, заменять и удалять названия улиц, а так же дома которые находятся на этих улицах. И соответственно был вопрос:
Сообщение от Gvozd
Это через var только?
Так понятнее??

Да я конечно прочту то что вы мне дали. Спасибо.
Ответить с цитированием
  #6 (permalink)  
Старый 11.03.2009, 20:40
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от ursa
Я так понимаю AJAX это PHP, мне надо сделать всё на JS.
такую вещь без ПХП будет затруднительно сделать.
где и как вы предполагаете хранить названия улиц, соответствующие им номера домов, и фамилии жильцов?
если статично внутри JS-кода, то это будет гемороем вбивать все руками.
к тому же этот кусок кода будет слишком много весить(для более-менее порядочного количества улиц-домов-людей)

Если вы хотите постоянно редактировать этот список, то это вообще нереально делать вручную в JS-коде,если вы конечно немного ленивый (как и многие) человек, имеющий скрверную привычку спать раз в сутки, и заниматся посторонними делами

лучше всего будет, если вы задействуете PHP+MySQL, например для хранения всех этих данных. что же по поводу линамического формирования option-а, то я дал достаточно ссылок, чтобы начать реализовывать клиентскую часть.

В общем, всем необходимым я вас снабдил.пробуйте.если не будет получатся обращайтесь с конкретными вопросами

PS повторюсь.в принципе можно и без PHP+MySQL.но при этом будут матерится все.вы, когда будете добавлять десяток новых улиц,, с новыми домами.пользователи, которые будут грузить многометровый список улиц
Ответить с цитированием
  #7 (permalink)  
Старый 11.03.2009, 21:06
Новичок на форуме
Отправить личное сообщение для ursa Посмотреть профиль Найти все сообщения от ursa
 
Регистрация: 09.03.2009
Сообщений: 5

Спасибо за развёрнутый ответ! Да, но мне надо занести не много данных, да и редактироватся он будет максмум раз в полгода!
Вся загвозда в том, что всё должно быть в JS!
Ответить с цитированием
  #8 (permalink)  
Старый 11.03.2009, 21:39
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

задайте массив в таком виде:
var list={
'ул.Ленина':{
	'12':['Иванов','Петров'],
	'13':['Иванов','Петров'],
	'14':['Иванов','Петров']
	},
'ул.Конной Армии':{
	'12':['Иванов','Петров'],
	'13':['Иванов','Петров'],
	'14':['Иванов','Петров']
	}
};
alert(list['ул.Конной Армии']['13'][1]);

теперь вы можете работать с такого рода списком, без использования PHP+MySQL
Ответить с цитированием
  #9 (permalink)  
Старый 12.03.2009, 09:58
Профессор
Отправить личное сообщение для AzriMan Посмотреть профиль Найти все сообщения от AzriMan
 
Регистрация: 27.02.2009
Сообщений: 215

немного не по теме
Сообщение от ursa Посмотреть сообщение
Спасибо за ссылки!
Я так понимаю AJAX это PHP, мне надо сделать всё на JS.
......
В первой ссылке ведь русским по-белому написано:
Цитата:
...AJAX - это уже javascript, почему бы не добавить еще javascript? ...
*WALL*
Ответить с цитированием
  #10 (permalink)  
Старый 12.03.2009, 11:20
Интересующийся
Отправить личное сообщение для lliberty Посмотреть профиль Найти все сообщения от lliberty
 
Регистрация: 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