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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> два SELECTa, Подгрузить города для заданной страны 
:(
    Опции темы
Kefir
Дата 18.2.2004, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

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



пробовал поискать ответ на мой вопрос - ничего не нашёл. даже помню, что была такая тема, но не нашёл (руки мож кривые такие...). ну ладно, вопрос:

есть ПХПшный массив типа $arr['countries']['cities']. На странице есть два SELECTa - в одном из них названия стран, а в другом в соответствии с выбранной страной должны показываться города этий страны. На сколько я понимаю - это с JS надо делать. не подскажете как?

Это сообщение отредактировал(а) Sardar - 18.2.2004, 23:26
PM MAIL WWW Skype   Вверх
Sardar
Дата 18.2.2004, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


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

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



Модератор: Название темы должно отражать ее суть!

Xороший способ обновлять страницу целиком при выборе страны.
Можно извратится и создать нуль-фрейм который ты при выборе обновляешь, сервак отошлет скрипт с нужными данными.

Вот пример с использованием DOM для изменения содержания select'а:
Код

::index.php - s
<frameset cols="*,0">
<frame src="content.php" name="outp"></frame>
<frame src="about:blank" name="frload"></frame>
</frameset>

::content.php
//при изменении перезагрузим фрейм закачки
function loaddata(countr) {
if(parent.frames&&parent.frames['frload']) {
 parent.frames.frload.location.href="./loadcities.php?country="+countr;
}
}
...
<select id="country" onChange="loaddata(this.options[this.selectedIndex].text);">
   <option>Netherlands
   <option>Rusland
</select>
<select id="city">
   <option>Amsterdam
   <option>Groningen
</select>
<input type="submit" value="Sent">

::loadcities.php //его вывод
<script language="javasrcipt" type="text/javascript">
function makeOption(doc,text,name,value) {
opt=doc.createElement("option");
opt.text=text;
opt.name=name;
opt.value=value;
return opt;
}
if(parent.frames&&parent.frames.outp) {
doc=parent.frames.outp.document;
cont=parent.frames.outp.document.all.city.otions; //IE зависимый
for(i=0;i<cont.length;i++) cont.remove(i); //удалим все
//добавляем данные
cont.add(makeOption(doc,"city1","cities[]","city_1"));
cont.add(makeOption(doc,"city2","cities[]","city_2"));
...
}
// else window.location.href="http://www.site.ru/index.php"; //открыто не во фрейме
</script>

Код пишу из головы, причем я сегодня не выспался smile.gif. Вообще это дело можно разными способами сделать.



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


 




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


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

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