Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2010, 06:47   #1
Valei
 
Регистрация: 06.03.2009
Сообщений: 7
По умолчанию Динамические выпадающие списки проблема...

Всем здравствуйте. У меня возникла вот такая проблема.
Взял скрипт ( вот отсюда http://xhtml.ru/2006/02/11/dynamic-select/ ) для обновления select -ов все прекрасно работает.
Код HTML:
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);
   alert(sel2);
  }
 }
}

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

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("param1", "param2");
}
Моя проблема в том, что мне надо передавать не один параметр, а строку параметров т.е. в id1 вместо например "Russia" или "1" передавать "Russia, Ukraine" или "1,2".
Сам скрипт цепляется к php файлу а списки заполняются из базы. Просто хотелось бы сделать чтобы заполнение списков было не один к одному, а один к многим. Пример при выборе "пирожок с капустой" выводит в списке "Мука, капуста" а при выборе "пельмени" выводит "Мука, фарш", т.е. "мука" выбирается и первым и вторым параметром select-a.
Или может я неправильно продумываю алгоритм тогда предложите лучший.
Прошу помогите. Заранее благодарен.
Valei вне форума Ответить с цитированием
Старый 07.02.2010, 09:59   #2
Valei
 
Регистрация: 06.03.2009
Сообщений: 7
По умолчанию

Ребят че никто знает как это сделать?
Valei вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зависимые выпадающие списки Anastasiya_77 Microsoft Office Excel 7 18.04.2011 07:52
Выпадающие списки Marsik JavaScript, Ajax 1 14.12.2009 00:55
Опять выпадающие каскадные списки! Chelentano Microsoft Office Excel 3 04.08.2009 20:14
Зависимые выпадающие списки Axxie Microsoft Office Excel 5 16.06.2009 16:47
Выпадающие списки на ленточной форме denver_ua Microsoft Office Access 1 23.03.2009 22:30