Буду плакать скоро
эта функция работает отлично, но перестала работать другая
Смысл в том, что у меня есть 3 сэлэкта, значения 1 и 3 должни дублироватся в зависимости от 1-го, значения 2-го будет показывать в зависимости от того что выбрано в первном, мож криво обяснил, не ругайте сильно...
<!-- динамическая форма-->
<script type="text/javascript"><!--
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("action", "product");
dynamicSelect("action1", "product1");
dynamicSelect("action2", "product2");
dynamicSelect("action3", "product3");
dynamicSelect("action4", "product4");
dynamicSelect("action5", "product5");
var sel1 = document.getElementById('action5');
var sel2 = document.getElementById('action6');
/*
var sel1 = document.getElementsByName('kategory_nazva')[0];
var sel2 = document.getElementsByName('new_kategory_nazva')[0];
*/
sel1.onchange = function () {
sel2.selectedIndex = sel1.selectedIndex;
}
}
</script>
<form id="form2" name="form2" method="post" action="action.php" enctype="multipart/form-data">
<select name="kategory_nazva" id="action5">
<option>Пункт 1</option>
<option>Пункт 2</option>
<option>Пункт 3</option>
<option>Пункт 4</option>
</select>
<select name="subkategory_nazva" id="product5">";
<option class="Пункт 1">Пункт 101 </option>
<option class="Пункт 1">Пункт 102 </option>
<option class="Пункт 1">Пункт 103 </option>
<option class="Пункт 2">Пункт 201 </option>
<option class="Пункт 2">Пункт 202 </option>
<option class="Пункт 2">Пункт 203 </option>
</select>
<select name="new_kategory_nazva" id="action6">
<option>Пункт 1</option>
<option>Пункт 2</option>
<option>Пункт 3</option>
<option>Пункт 4</option>
</select>
</form>
//-->
Молю... помогите!!!...