Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 2 <select> и onChange, 2 <select> и onChange 
:(
    Опции темы
Гость_test
Дата 14.9.2005, 00:38 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Есть два селекта...нужно, чтобы при выборе в одном селекте, данные во втором показывались только дял данного селекта...вохможно ли это?
  Вверх
Aliance
Дата 14.9.2005, 01:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Модератор: Читаем правила форума: http://forum.vingrad.ru/index.php?s=&act=SR&f=27
Пишем в соответствующий раздел.
Задаем вопрос понятно!


Это сообщение отредактировал(а) Aliance - 14.9.2005, 01:01
PM MAIL WWW ICQ Skype   Вверх
Гость_test
Дата 14.9.2005, 06:54 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ситуация такая, что есть 2 <select>: первый - это город, а второй - улица.

т.е. сначала в первый <select> загружаем данные из базы, затем после того, как выбран город, второй <select> обновляется и там появляются данные для конкретного города.

Вот у меня только никак не получается привязать JavaScript c PHP....и вообще, какое тут может быть решение проблемы?
  Вверх
diam
Дата 14.9.2005, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 348
Регистрация: 23.1.2005
Где: Екатеринбург

Репутация: 6
Всего: 16



Возможные варианты подгрузки данных: 1, 2.

Как загружается, сам попробуешь разобраться? smile
PM MAIL   Вверх
Guest
Дата 14.9.2005, 11:18 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











а подтолкнуть нельзя немножко? smile
  Вверх
diam
Дата 14.9.2005, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 348
Регистрация: 23.1.2005
Где: Екатеринбург

Репутация: 6
Всего: 16



Один из возможных порядков действий:
1. Создаёшь два элемента SELECT на странице.
Список городов сразу же полный, список же улиц - пустой и неизменяемый:
Код

<select name='street' disabled='disabled'></select>

2. На список городов на изменение вешаешь функцию (назовём её town_change()), например, таким образом:
Код

<select name='town' onChange='town_change()'></select>

3. Функция town_change() занимается следующим:
  • блокирует список улиц и городов, что бы не было изменений во время загрузок
  • подгружает данные о улицах (например, в массив какой-нибудь, точнее, в словарь "value - text" и массив [values])
  • после чего вызовется функция, которая очищает список улиц, потом заполняет список улиц в соответствии с полученными данными об улицах
  • оба списка разблокируются и снова готовы к изменениям

О том, как подгружать данные, смотри ссылки выше.

З.Ы. Неплохо было бы учесть timeout'ы.


Регистрируйся у нас, разбирайся, что-то не получается - задавай вопросы, здесь помогут smile
PM MAIL   Вверх
user100
Дата 14.9.2005, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 14.9.2005

Репутация: нет
Всего: нет



Чего-то я так толком и не разобрался =)

есть у меня 2 селекта
Код

<form name=form>

<select name=gorod>
   <option value=0>--||--</option>
   <option value=1>Город 1</option>
   <option value=2>Город 2</option>
</select>

<select name=uliza>
   ...
</select>

</form>


так же есть массив улиц для 2-ух городов:
Код

<?

// Улицы города 1
$street1[1] = "Улица 1";
$street1[2] = "Улица 2";
$street1[3] = "Улица 3";

// Улицы города 2
$street2[1] = "Улица 11";
$street2[2] = "Улица 22";
$street2[3] = "Улица 33";
?>


я просто даже понятия не имею как это можно связать smile и ссылки выше не помогли smile
PM MAIL   Вверх
diam
Дата 14.9.2005, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 348
Регистрация: 23.1.2005
Где: Екатеринбург

Репутация: 6
Всего: 16



Внимательно перечитай ссылки, так же советую посмотреть здесь.
Если почитать, всё становится ясно smile.
PM MAIL   Вверх
user100
Дата 14.9.2005, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 14.9.2005

Репутация: нет
Всего: нет



покажите, пожалуйста, на моём примере, если конечно не сложно...буду очень признателен!


 ! 
 
Не стоит оффтопить и грубить!


Это сообщение отредактировал(а) Aliance - 14.9.2005, 17:47
PM MAIL   Вверх
GIK
Дата 14.9.2005, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый человек
**


Профиль
Группа: Участник
Сообщений: 985
Регистрация: 3.6.2005
Где: я только не небыв ал

Репутация: 6
Всего: 14



user100 Тебе надо чтобы, улицы менялись только если выбран какой-то эллемент, или реализация с кнопкой вызова функции, которая меняет название улиц подойдет?


--------------------
Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!!
Программирование - это не деятельнось! Программирование - это состояние души!
Бог - самый крутой программист.
PM MAIL ICQ   Вверх
user100
Дата 14.9.2005, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 14.9.2005

Репутация: нет
Всего: нет



GIK, есть 2 '<select>'a...в одном города, во втором улицы соответствующего города. Т.е., выбираю в первом город, а во втором изменяется сразу список улиц для этого города.
PM MAIL   Вверх
GIK
Дата 14.9.2005, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый человек
**


Профиль
Группа: Участник
Сообщений: 985
Регистрация: 3.6.2005
Где: я только не небыв ал

Репутация: 6
Всего: 14



Если интересна реализация с кнопкой:
Код

<input type=button value="Показать улицы" onClick="Strit(this.form)">

ну и сама функция:
Код

function Strit (obj)
{ 
  if (obj.sel1.options[0].selected)
  { obj.sel2.option [0]. text="Название улицы №1";
    obj.sel2.option [1]. text="Название улицы №2";
    obj.sel2.option [2]. text="Название улицы №3";
  }

Если конечно тебя устраивает два селекта в одной форме.


--------------------
Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!!
Программирование - это не деятельнось! Программирование - это состояние души!
Бог - самый крутой программист.
PM MAIL ICQ   Вверх
Aliance
Дата 14.9.2005, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



user100
Этот код поднимался минимум 4 раза за последний год. Не сочти за трудность - воспользуйся поиском!
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 14.9.2005, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



user100 не парься, вот либа: http://pear.php.net/package/HTML_QuickForm
Тебе нужен элемент hierselect smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
GIK
Дата 15.9.2005, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый человек
**


Профиль
Группа: Участник
Сообщений: 985
Регистрация: 3.6.2005
Где: я только не небыв ал

Репутация: 6
Всего: 14



Вот примерно так, по моему мнению, выглядит твой скрипт
единственное его надо доработать(сам новичек и тоже мало чего знаю)
Помог чем мог smile
Код

<html>
<head>
<title>Вывор города</title>
<script type="text/javascript" language="javascript">

      function Strit (obj)
{
  if (obj.sel1.options[0].selected)
  { obj.sel2.option[0].text="Название улицы №1";
    obj.sel2.option[1].text="Название улицы №2";
    obj.sel2.option[2].text="Название улицы №3";
  }
else 
 if (obj.sel1.options[1].selected)
  { obj.sel2.option[0].text="Название улицы №1";
    obj.sel2.option[1].text="Название улицы №2";
    obj.sel2.option[2].text="Название улицы №3";
  }
</script>
</head>
<body>
<form name="form1">
<select name="sel1">
  <option>Город1</option>
  <option>Город2</option>
</select><p>
<select name="sel2">
  <option>Улица№1</option>
  <option>Улица№2</option>
  <option>Улица№3</option>
</select><p>
<input type=button value="Показать улицы" onClick="Strit(this.form)">
</form>
</body>
</html>



--------------------
Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!!
Программирование - это не деятельнось! Программирование - это состояние души!
Бог - самый крутой программист.
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1307 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.