Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: HELP!! Со списками
 
 автор: kost   (07.12.2005 в 14:22)   письмо автору
 
 

Вот такая у меня проблема:
есть 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 списке выводилась толкьо Норвегия и Дания? А при других вариантах --- Другие страны?

   
 
 автор: oracle   (07.12.2005 в 16:49)   письмо автору
 
   для: 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 - Кусок скрипта

   
 
 автор: kost   (07.12.2005 в 16:54)   письмо автору
 
   для: 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>




НО ОНО НЕ РАБОТАЕТ!!!

   
 
 автор: 12345   (07.12.2005 в 17:19)   письмо автору
 
   для: 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> 

   
 
 автор: kost   (07.12.2005 в 17:31)   письмо автору
 
   для: 12345   (07.12.2005 в 17:19)
 

а можно полный листинг хтмл?

   
 
 автор: kost   (07.12.2005 в 17:59)   письмо автору
 
   для: 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>

   
 
 автор: 12345   (07.12.2005 в 19:47)   письмо автору
 
   для: kost   (07.12.2005 в 17:59)
 

а он полный. Остальное добавляется по желанию.
Про уточнение не понял - так нельзя писать в html.

   
 
 автор: kost   (07.12.2005 в 20:21)   письмо автору
 
   для: 12345   (07.12.2005 в 19:47)
 

я вот по аналогии добавил, а оно не работает нефига!

   
 
 автор: oracle   (07.12.2005 в 20:27)   письмо автору
 
   для: kost   (07.12.2005 в 20:21)
 

Между </option> (концом) и <option> (началом) не должно ничего стоять. Читайте учебник и экспериментируйте.

   
 
 автор: kost   (07.12.2005 в 21:16)   письмо автору
 
   для: oracle   (07.12.2005 в 20:27)
 

нету книжек...ниче нету...с 0 пишу...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования