|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.02.2010, 06:47 | #1 |
Регистрация: 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"); } Сам скрипт цепляется к php файлу а списки заполняются из базы. Просто хотелось бы сделать чтобы заполнение списков было не один к одному, а один к многим. Пример при выборе "пирожок с капустой" выводит в списке "Мука, капуста" а при выборе "пельмени" выводит "Мука, фарш", т.е. "мука" выбирается и первым и вторым параметром select-a. Или может я неправильно продумываю алгоритм тогда предложите лучший. Прошу помогите. Заранее благодарен. |
07.02.2010, 09:59 | #2 |
Регистрация: 06.03.2009
Сообщений: 7
|
Ребят че никто знает как это сделать?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Зависимые выпадающие списки | 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 |