|
Автор |
Сообщение |
Лиза
Новенький
Зарегистрирован: 10.07.2008 Сообщения: 35
|
|
|
|
Здравствуйте! Есть такая задача: форма, в ней два раскрывающихся списка(<select>). Допустим, первый содержит разделы(красный, синий, зеленый), а второй категории(красный1, красный2, синий1, синий2, зеленый1, зеленый2). Требуется, чтобы при выборе раздела выполнялся фильтр категорий. Например: выбираем в разделах "красный" и категории показываются только "красный1" и "красный2".
Рассчитываю на вашу помощь! |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Боюсь ты обратилась не по адресу, это делается на JS |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
Veter
Участник тусовки
Зарегистрирован: 01.07.2009 Сообщения: 86 Откуда: Московская обл.
|
|
|
|
Народ, кто-нибудь может сказать, как мне подключить к моей CMS файл с пхп расширением, ото я форму обратной связи сделал и мне её надо в одном дизайне с сайтом вывести. |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
какая cms? |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
alex2103
Новенький
Зарегистрирован: 15.10.2008 Сообщения: 57
|
|
|
|
Лиза,
подключаеш script.js
вот форма
Поиск по разделу и типу модели<form action="search.php" method="POST"><select name="html_title" id="pol">
<option value="select">Выберите раздел...</option>
<option value="men">Мужсой</option>
<option value="women">Женский</option>
<option value="kids">Детский</option>
</select>
<select name="description" id="model">
<option class="select" value="select">Выберите модель...</option>
<option class="men" value='pulover_men'>пуловер</option>
<option class="men" value='shapka_men'>шапка</option>
<option class="women" value='yubka_women'>юбка</option>
<option class="women" value='platye_women'>платье</option>
<option class="kids" value='shapka_kids'>шапка</option>
<option class="kids" value='sharf_kids'>шарф</option>
</select>
<input type='submit' value='выбрать' align="left">
</form> |
|
Вернуться к началу |
|
|
alex2103
Новенький
Зарегистрирован: 15.10.2008 Сообщения: 57
|
|
|
|
вот код
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("pol", "model");
} |
|
Вернуться к началу |
|
|
Veter
Участник тусовки
Зарегистрирован: 01.07.2009 Сообщения: 86 Откуда: Московская обл.
|
|
|
|
Den, у меня контент менеджер из твоей книги - PHP5/6 и MySQL. |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
White_wind, завтра дам подробный ответ |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
Veter
Участник тусовки
Зарегистрирован: 01.07.2009 Сообщения: 86 Откуда: Московская обл.
|
|
|
|
Den, уже больше недели прошло ... |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
White_wind, забыл, сорри
тут можно или редактировать index.php, добавив конструкцию вида:
if ($p==="contacts") {
// код
}
или же вместо нее добавить конструкцию
include_once "contacts.php";
вышеприведенная инструкция будет в файле contacts.php |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
Амир
Участник тусовки
Зарегистрирован: 21.07.2009 Сообщения: 135
|
|
|
|
Здравствуйте уважаемые!
Назовите хотя бы 2 существенные причины по которым HTML нежелательно перемешивать с PHP кодом (естественно неудобства при разборе исходного кода в последствии не учитываются) ? Благодарю! |
|
Вернуться к началу |
|
|
Амир
Участник тусовки
Зарегистрирован: 21.07.2009 Сообщения: 135
|
|
|
|
Хмм... и аватар мой расплющило, хотя 100х100px ... |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Амир, ты сам назвал самую основную причину - неудобство. Раздели HTML и PHP код так намного удобнее. Дизайнер редактируюет свою часть и не лезет в ПХП-код, а программист не заморачивается особо с дизайном. Еще можно использовать TPL-шаблоны, тогда вывод HTML становится намного гибче |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
Veter
Участник тусовки
Зарегистрирован: 01.07.2009 Сообщения: 86 Откуда: Московская обл.
|
|
|
|
Den, вы в книге писали, как осуществить вывод html файлов с помощью специальной функции(приводить её не стану), я написал точно такую же, только она открывает файлы с расширением php. В итоге, вся страница загружается, но на кнопку 'отправить' не реагирует. В чем же дело? |
|
Вернуться к началу |
|
|
|
|