Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Двойной select
 
 автор: cernos   (27.09.2005 в 15:37)   письмо автору
 
 

Здравствуйте есть такая вот замануха:
1.Есть один select с разделами
2.Есть второй select с подразделами

Мне необходимо делать каким то образом выборку! т.е.

при вы боре раздела в 1 селекте, необходимо подставлять автоматически все подкатегории в
со 2 селект! Как это сделать?!

Заранее благодарен!

   
 
 автор: tim_mironov   (27.09.2005 в 16:41)   письмо автору
 
   для: cernos   (27.09.2005 в 15:37)
 

Я с этим тоже мучался. Описано это по следующему адресу http://softtime.ru/forum/read.php?id_forum=3&id_theme=7665&page=1. Убедительная просьба, если вдруг найдется решение вопроса с функцией (см. по ссылке) или она пойдет у Вас как должна, напишите пожалуйста об этом в вышеуказанной теме. Заранее благодарен.

   
 
 автор: Deady   (27.09.2005 в 16:51)
 
   для: cernos   (27.09.2005 в 15:37)
 

а как страница генерится?

вообще-то это халява. идея такая:
хранишь в скрипте для каждого значения из 1го селекта массив значений для 2го селекта, а потом при изменении 1го селекта во втором удаляешь все элементы и подставляешь нужные.

вот пример из книги JavaScript 2.0: The Complete Reference, Second Edition


<<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">>
<<html>>
<<head>>
<<title>>Related Select Test<</title>>
<<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />>
<<script type="text/javascript">>
<<!--
// Create an array to hold the cities for each country
var cities = new Array(4);
cities["Australia"] =
      ["Sydney", "Melbourne", "Canberra", "Perth", "Brisbane"];
cities["France"] = 
      ["Paris", "Lyons", "Nice", "Dijon"];
cities["Japan"] = ["Tokyo", "Kyoto", "Osaka", "Nara"];
cities["New Zealand"] = 
      ["Auckland", "Wellington", "Christchurch", "Dunedin", "Queenstown"];

function removeOptions(optionMenu)
{
  for (var i=0; i << optionMenu.options.length; i++)
    optionMenu.options[i] = null;
}

function addOptions(optionList, optionMenu)
{
 removeOptions(optionMenu);  // clear out the options
 for (var i=0; i << optionList.length; i++)
   optionMenu[i] = new Option(optionList[i], optionList[i]);
}
//-->>
<</script>>
<</head>>
<<body>>
<<h2>>Vacation Chooser<</h2>>
<<form name="testform" id="testform" action="#" method="get">>
Country:
<<select name="country" id="country"
 onchange="addOptions(cities[this.options[this.selectedIndex].text], 
                             document.testform.city);">>
      <<option selected="selected">>Australia<</option>>
      <<option>>France<</option>>
      <<option>>Japan<</option>>
      <<option>>New Zealand<</option>>
<</select>>

City:
<<select name="city" id="city">>
      <<option>>Sydney<</option>>
      <<option>>Melbourne<</option>>
      <<option>>Canberra<</option>>
      <<option>>Perth<</option>>
      <<option>>Brisbane<</option>>
<</select>>
<</form>>
<</body>>
<</html>>

   
 
 автор: tim_mironov   (27.09.2005 в 18:23)   письмо автору
 
   для: Deady   (27.09.2005 в 16:51)
 

Поначалу вылезает первое значение страны и в неактивном селекте значение "-нет деления-", а потом перегружается.
А представляеете, у меня в скрипте только российских регионов 89, а если еще США, Канада, Германия, Китай и еще много других стран. Эта страница будет жрать у диалапников время, а у выделеньщиков - трафик, почем зря.

   
 
 автор: DDK   (27.09.2005 в 18:38)   письмо автору
 
   для: tim_mironov   (27.09.2005 в 18:23)
 

Вообще, это дело такое, с этим ничего не сделаешь. Единственное, что могу ещё посоветовать - можно написать пхп-скрипт, выполняющийся после выбора в первом, селекте, заполняющий соотв. второй селект. Иногда так делают, но, опять же, перезагрузка страницы тоже есть опред. траффик. Есть ещё один хитрый способ - при выборе в первом селекте в зависчимости от выбранного пункта Ява-скриптом делать незаметно вызов пхп-скрипта, и сгружать полученные резултаты (нужные элементы для второго селекта) в массив. Такой способ, если мне не изменяет память, сделан в разделе тех. поддержки на сайте Canon.

   
 
 автор: Deady   (28.09.2005 в 11:10)
 
   для: DDK   (27.09.2005 в 18:38)
 

если много стран и объемы большие, то ничего не поделаешь.

>Есть ещё один хитрый способ - при выборе в первом селекте в
>зависчимости от выбранного пункта Ява-скриптом делать
>незаметно вызов пхп-скрипта, и сгружать полученные резултаты
>(нужные элементы для второго селекта) в массив.

такая штука называется ajax. http://java.sun.com/developer/technicalArticles/J2EE/AJAX/
считается жутко новомодной, экономит трафик, но
1. пишется долго (хотя если написать 1 раз и понять смысл, то все просто и быстро)
2. могут быть проблемы с совместимостью браузеров (хотя у меня не было)

   
 
 автор: cheops   (27.09.2005 в 22:25)   письмо автору
 
   для: cernos   (27.09.2005 в 15:37)
 

Посмотрите тему по ссылке http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=992

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования