|
|
|
| Вот такая у меня проблема:
есть 2 списка:
<select size="1" name="prog" style="color: #000000; border: 1px solid #000000">
<option>Au-Pair</option>
<option>Work and Travel</option>
<option>LEAPS</option>
<option>Языковые курсы</option>
<option>Высшее образование</option>
</select>
|
и
<select size="1" name="country" style="border: 1px solid #000000">
<option>США</option>
<option>Германия</option>
<option>Франция</option>
<option>Австрия</option>
<option>Канада</option>
<option>Англия</option>
<option>Чехия</option>
<option>Мальта</option>
<option>Италия</option>
<option>Испания</option>
<option>Норвегия</option>
<option>Швеция</option>
<option>Дания</option>
<option>Финляндия</option>
<option>Голландия</option>
<option>Новая Зеландия</option>
<option>Австралия</option>
</select>
|
вот как сделать так, что бы при выборе Скажем Высшего образования, во 2 списке выводилась толкьо Норвегия и Дания? А при других вариантах --- Другие страны? | |
|
|
|
|
|
|
|
для: kost
(07.12.2005 в 14:22)
| | http://javascript.itsoft.ru/collect/options.html[url][/url] - Options
http://www.intertrust.ru/Site/ITForum.nsf/all/4DE5AF7E9A855732C3256B91001E5E0E?OpenDocument - Кусок скрипта | |
|
|
|
|
|
|
|
для: oracle
(07.12.2005 в 16:49)
| | та ну е работает эта штука...я её мучал долго и нудно, и нефига в итоге не вышло!
От примерный вариант того, что получилось:
<HTML>
<HEAD>
<META name=VI60_defaultClientScript content=JavaScript>
<META NAME="GENERATOR" Content="Microsoft Visual Studio
6.0">
<TITLE>2 селекта</TITLE>
<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--
var a = [Франция, Грмания,США, Фавстрия, северная Европа];
//Массив au-pair
var b = [США]; //Массив W&T
var c = [Норвегия]; //Массив LEAPS
var d = [США, Германия, Франция, Австрия, Канада, Англия,
Чехия, Мальта, Италия, Испания, Норвегия, Швеция, Дания,
Финляндия, Голландия, Новая Зеландия, Австралия]; //Массив
Языковые курсы
function addCombo(array){ //Функция очистки и добавления
во второй комбобокс
//имеет на входе тот или иной массив
for(i=0;i<array.lenght;i++;)select2.remove(i); //Очищаем
второй комбобокс
for(i=0;i<array.length;i++) //Пробегаемся по массиву и
вставляем опшны
{
var opt = document.createElement("OPTION");
opt.text = array[i];
opt.value = array[i];
select2.add(opt);
}
}
function window_onload() {
select1.options(0).selected=true; //На загрузку делает
первый элемент первого массива выделенным
addCombo(a); //Вызываем функцию добавления, отправляем
массив чётных
}
//-->
</SCRIPT>
</HEAD>
<BODY LANGUAGE=javascript onload="return
window_onload()">
<SELECT id=select1 name=select1
LANGUAGE=javascript
onchange="return addCombo(this.selectedIndex?a:b:c:d)">
<!--На событие изменения отправляем в функцию addCombo тот
или иной массив-->
<OPTION>Au-Pair</OPTION>
<OPTION>W&T</OPTION>
<OPTION>LEAPS</OPTION>
<OPTION>Языковые курсы</OPTION>
</SELECT>
<SELECT id=select2 name=select2>
</SELECT>
</BODY>
</HTML>
|
НО ОНО НЕ РАБОТАЕТ!!! | |
|
|
|
|
|
|
|
для: kost
(07.12.2005 в 16:54)
| | Не смотрел, отчего не работает. А такое обходное решение подойдёт? (усложнит отправку - из разных полей, зато организованы данные аккуратно). Даже поля select.name можно динамически переименовывать, чтобы сервер ничего не замечал.
<style>
select{border: 1px solid #000000}
#country12{display:none;}
</style>
<script>
function chng(t){if(t.options[t.selectedIndex].className=='hEduc'){
document.getElementById('country11').style.display='none';
document.getElementById('country12').style.display='inline';
}else{
document.getElementById('country11').style.display='inline';
document.getElementById('country12').style.display='none';
}}
</script>
<select name=prog onChange=chng(this)>
<option>Au-Pair</option>
<option>Work and Travel</option>
<option>LEAPS</option>
<option>Языковые курсы</option>
<option class=hEduc>Высшее образование</option>
</select> . . .
<select name=country1 id=country11>
<option>США</option>
<option>Германия</option>
<option>Франция</option>
<option>Австрия</option>
<option>Канада</option>
<option>Англия</option>
<option>Чехия</option>
<option>Мальта</option>
<option>Италия</option>
<option>Испания</option>
<option>Норвегия</option>
<option>Швеция</option>
<option>Дания</option>
<option>Финляндия</option>
<option>Голландия</option>
<option>Новая Зеландия</option>
<option>Австралия</option>
</select>
<select name=country2 id=country12>
<option>Норвегия</option>
<option>Дания</option>
</select>
|
| |
|
|
|
|
|
|
|
для: 12345
(07.12.2005 в 17:19)
| | а можно полный листинг хтмл? | |
|
|
|
|
|
|
|
для: kost
(07.12.2005 в 17:31)
| | И ещё одно уточнение:
как именно должно быть:
Au-Pair: Германия, Франция, США, Австрия, северная Европа
W&T: США
LEAPS: Норвегия
Языковые курсы: <option>США</option>
<option>Германия</option>
<option>Франция</option>
<option>Австрия</option>
<option>Канада</option>
<option>Англия</option>
<option>Чехия</option>
<option>Мальта</option>
<option>Италия</option>
<option>Испания</option>
<option>Норвегия</option>
<option>Швеция</option>
<option>Дания</option>
<option>Финляндия</option>
<option>Голландия</option>
<option>Новая Зеландия</option>
<option>Австралия</option>
ВЫсшее образование: <option>США</option>
<option>Германия</option>
<option>Франция</option>
<option>Австрия</option>
<option>Канада</option>
<option>Англия</option>
<option>Чехия</option>
<option>Мальта</option>
<option>Италия</option>
<option>Испания</option>
<option>Норвегия</option>
<option>Швеция</option>
<option>Дания</option>
<option>Финляндия</option>
<option>Голландия</option>
<option>Новая Зеландия</option>
<option>Австралия</option> | |
|
|
|
|
|
|
|
для: kost
(07.12.2005 в 17:59)
| | а он полный. Остальное добавляется по желанию.
Про уточнение не понял - так нельзя писать в html. | |
|
|
|
|
|
|
|
для: 12345
(07.12.2005 в 19:47)
| | я вот по аналогии добавил, а оно не работает нефига! | |
|
|
|
|
|
|
|
для: kost
(07.12.2005 в 20:21)
| | Между </option> (концом) и <option> (началом) не должно ничего стоять. Читайте учебник и экспериментируйте. | |
|
|
|
|
|
|
|
для: oracle
(07.12.2005 в 20:27)
| | нету книжек...ниче нету...с 0 пишу... | |
|
|
|