X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Связанные выпадающие списки + переход на другую страницу
Carleutto
Carleutto
Topic Starter сообщение 23.10.2012, 15:28; Ответить: Carleutto
Сообщение #1


Доброго времени суток! Нужна помощь в таком вопросе, существует код, который создает два связанных выпадающих списка: к примеру, в одном выбираем страну, в другом город этой страны. Вот нужно что бы после выбора города открывалась другая страница с инфой об этой стране, к примеру.

Вот код:

<head>
<title>Выбор страны</title>

<script type="text/javascript" src="script.js"></script>

<script type="text/javascript"><!--
window.onload = function() {
dynamicSelect("Country", "City");
}
//--
></script>

</head>
<body>


<form action="#" method="post">
<select name="Country" id="Country">
<option value="select">Выберите страну...</option>
<option value="Russia">Россия</option>
<option value="Ukraine">Украина</option>
<option value="Belarus">Беларусь</option>
</select>
<select name="City" id="City">
<option class="select" value="select">Выберите город...</option>
<option class="Russia" value="Moscow">Москва</option>
<option class="Russia" value="SPeterburg">Санкт-Петербург</option>
<option class="Russia" value="Ekaterinburg">Екатеринбург</option>
<option class="Ukraine" value="Kiev">Киев</option>
<option class="Ukraine" value="Sevastopol>Севастополь</option>
<option class="Belarus" value="Minsk">Минск</option>
<option class="Belarus" value="Bobruisk">Бобруйск</option>
</select>
</form>

</body>
</html>


Вот ЯваСкрипт:

[JS]function dynamicSelect(id1, id2) {

// Сперва необходимо проверить поддержку W3C DOM в браузере

if (document.getElementById && document.getElementsByTagName) {

// Определение переменных, ссылающихся на списки

var sel1 = document.getElementById(id1);
var sel2 = document.getElementById(id2);

// Клонирование динамического списка

var clone = sel2.cloneNode(true);

// Определение переменных для клонированных элементов списка

var clonedOptions = clone.getElementsByTagName("option");

// Вызов функции собирающей вызываемый список

refreshDynamicSelectOptions(sel1, sel2, clonedOptions);

// При изменении выбранного элемента в первом списке: // вызов функции пересобирающей вызываемый список

sel1.onchange = function() {
refreshDynamicSelectOptions(sel1, sel2, clonedOptions);
}
}
}

// Функция для сборки динамического списка

function refreshDynamicSelectOptions(sel1, sel2, clonedOptions) {

// Удаление всех элементов динамического списка

while (sel2.options.length) {
sel2.remove(0);
}
var pattern1 = /( |^)(select)( |$)/;
var pattern2 = new RegExp("( |^)(" + sel1.options[sel1.selectedIndex].value + ")( |$)");

// Перебор клонированных элементов списка

for (var i = 0; i < clonedOptions.length; i++) {

// Если название класса клонированного option эквивалентно "select" // либо эквивалентно значению option первого списка

if (clonedOptions[i].className.match(pattern1) ||
clonedOptions[i].className.match(pattern2)) {

// его нужно клонировать в динамически создаваемый список

sel2.appendChild(clonedOptions[i].cloneNode(true));
}
}
}

// Вызов скрипта при загрузке страницы

window.onload = function() {
dynamicSelect("Country", "City");
}[/JS]

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Залить html страницу на 20 доменов
6 TABAK 1704 22.5.2023, 16:24
автор: KORUP
Открытая тема (нет новых ответов) Списки всех зарегистрированных доменов с указанными NS адресами
11 phosphoruss 8696 4.11.2021, 21:07
автор: phosphoruss
Открытая тема (нет новых ответов) Продам страницу в фейсбук - 30к подписчиков
6 wartes 1208 14.11.2020, 2:33
автор: Progernaut
Открытая тема (нет новых ответов) InstaPage создать страницу
1 Smile3D 2783 31.10.2018, 18:49
автор: Intuit89
Открытая тема (нет новых ответов) Нужен человек для продвижения в ФБ бизнес страницу
0 Smile3D 2629 17.10.2018, 19:51
автор: Smile3D


 



RSS Текстовая версия Сейчас: 19.4.2024, 1:07
Дизайн