Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Раскрывающиеся списки
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Раскрывающиеся списки

Страниц (2): [1] 2 »
 

1. Rus88 - 19 Августа, 2009 - 07:31:43 - перейти к сообщению
Покажите я хотел составить два раскрывающихся меню чтобы второй зависел от первого
в данном случае у меня первое меню это Марка, а вторая Модель, надо чтобы допустим выбрал Марку а во втором отображалась нужная ему модель.....................
2. EuGen - 19 Августа, 2009 - 08:50:03 - перейти к сообщению
Сколько копий сломано уже вокруг этого. Используйте AJAX.
Смотрите материал на
http://www[dot]ajaxa[dot]net
http://www[dot]ajax-samples[dot]ru/
http://habrahabr[dot]ru/blogs/fullajax/53831/
http://webmasterzone[dot]ru/javascri[dot][dot].php-ajax-primery
http://allajax[dot]ru/
http://www[dot]ajaxa[dot]com/

P.S. Как же это я знаю столько ресурсов про AJAX? Тайна раскрывается здесь:
Урок №4 - как правильно читать документацию

Ну и еще, пользуйтесь поиском по форуму - помогает.
3. RomAndry - 19 Августа, 2009 - 09:41:02 - перейти к сообщению
Еще раз попробую объяснить, то что несколько раз писал тебе в аську =(
Ты сказал, что хочешь понять, а не просто найти готовое или что бы за тебя написали - это уже хорошо
Так как только начинаешь познавать PHP то нужно начинать с простого, для понимания
"что и для чего"
Начать лучше с простой формы и понять весь процесс.
Раздел форума "Уроки" помогут в этом.
Далее, добавляешь в форму первый список и смотришь как он работает и обрабатывается на стороне PHP
Так же стоит обратить внимание на дебаг, что бы видеть что к тебе приходит из формы

Эти простые строки покажут тебе очень много =)
Далее, простые вещи JavaScript. Начать с методов onClick onChange
Примеров в интернете много и гугл подскажет как а мы на форуме поможем поправить или обяснить КОНКРЕТНУЮ неточность в коде или в логике
(Извини, но на пустом месте нечего и объяснять - 2 темы и не видно что ты делал и что не получилось!)
Далее ставить на первый список метод onChange и по нему перегружать форму и опять смотреть что приходит в массив POST
После понимания этого процесса можно переходить ко второму списку.
подсказка: из перового сиска ты получаешь ID Марки, по этому ID получаешь список Моделей для второго списка.

А уж потом, когда все предельно ясно и понятно, можно переходить на AJAX

Надеюсь понятно изложил и теперь буду видеть код того что ты делал с объяснением что не получается...
Удачи. Подмигивание
4. Rus88 - 19 Августа, 2009 - 09:47:48 - перейти к сообщению
спс за такой изложенный ответ, будем стараться Улыбка
5. RomAndry - 19 Августа, 2009 - 09:49:33 - перейти к сообщению
не в спасибо дело, ты пробуй, а что не получается излагай с примером кода - поможем с удовольствием
6. Rus88 - 19 Августа, 2009 - 15:37:34 - перейти к сообщению
Вот что я натворил, но почему та она при нажатии на списке отображается воопще новое меню и все

CODE (html4strict):
скопировать код в буфер обмена
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  3. <title>Untitled Document</title>
  4. <script type="text/javascript">
  5. <!--
  6. function MM_jumpMenu(targ,selObj,restore){ //v3.0
  7.  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  8.  if (restore) selObj.selectedIndex=0;
  9. }
  10. //-->
  11. </head>
  12.  
  13. <form action="form.php" method="post" name="search">
  14.   Марка:<br><select name="jumpMenu" id="jumpMenu" onChange="MM_jumpMenu('parent',this,0)">
  15.      <option value="1">Любая</option>
  16.     <option value="Acura">Acura</option>
  17.     <option value="Alfa Romeo">Alfa Romeo</option>
  18.     <option>ARO</option>
  19.     <option>Asia</option>
  20.     <option>Таврия</option>
  21.     <option>УАЗ</option>
  22.   </select><br><br>
  23.   Модель<br>
  24.   <select name="model">
  25.     <option>CL</option>
  26.     <option>CSX</option>
  27.     <option>EL</option>
  28.     <option>Integra</option>
  29.     <option>MDX</option>
  30.     <option>NSX</option>
  31.     <option>RDX</option>
  32.     <option>RL</option>
  33.     <option>RSX</option>
  34.     <option>SLX</option>
  35.     <option>TL</option>
  36.     <option>TSX</option>
  37.    </select>
  38.  
  39.  
  40. </form>
  41. </body>
  42. </html>
7. RomAndry - 19 Августа, 2009 - 15:47:39 - перейти к сообщению
а где собственно соответствие Модели и Марки?
КАК скрипт "узнает" какие Марки присутствуют у Модели?
8. Rus88 - 19 Августа, 2009 - 16:03:19 - перейти к сообщению
вот переделал, но все равно не могу понять как он первый список берет у второго, может из value но как тогда мне приписывать другие модели для других марок
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  6. <title>Untitled Document</title>
  7. <script type="text/javascript">
  8. <!--
  9. function MM_jumpMenu(targ,selObj,restore){ //v3.0
  10.   eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  11.   if (restore) selObj.selectedIndex=0;
  12. }
  13. //-->
  14. </script>
  15. </head>
  16.  
  17. <body>
  18. <?
  19. $db = mysql_connect ("localhost","admin","12345");
  20. mysql_select_db("avto",$db);
  21. ?>
  22.  
  23. <form action="form.php" method="post" name="search">
  24.   Марка:<br><select name="showmodels" id="showmodels" onChange="Javascript: Showmodels(value)">
  25.   <option>Любая</option>
  26.   <option value="Acura">Acura</option>
  27.   <option>Alfa Romeo</option>
  28.   <option>ARO</option>
  29.   <option>Asia</option>
  30.   <option>Aston Martin</option>
  31.   <option>Audi</option>
  32.   <option>Austin</option>
  33.   <option>BAW</option>
  34.   <option>Bentley</option>
  35.   <option>Bertone</option>
  36.   <option>BMW</option>
  37.   <option>Buick</option>
  38.   <option>BYD</option>
  39.   </select><br><br>
  40.   Модель: <br><select>
  41.     <option value="Acura">CL</option>
  42.     <option value="Acura">CSX</option>
  43.     <option value="Acura">EL</option>
  44.     <option value="Acura">Integra</option>
  45.     <option value="Acura">MDX</option>
  46.     <option value="Acura">NSX</option>
  47.     <option value="Acura">RDX</option>
  48.     <option value="Acura">RL</option>
  49.     <option value="Acura">RSX</option>
  50.     <option value="Acura">SLX</option>
  51.     <option value="Acura">TL</option>
  52.     <option value="Acura">TSX</option>
  53.   </select>
  54.  
  55. </form>
  56.  
  57.  
  58. </body>
  59. </html>
  60.  
9. RomAndry - 19 Августа, 2009 - 16:25:06 - перейти к сообщению
Интересно уже и база появилась, только к чему она?
Если Модели и Марки будут в Базе тогда пройти шаги(уроки) выборки из базы и формирование выпадающего списка на этом.
Т.е. пора начинать осваивать базу
10. dsb80 - 20 Августа, 2009 - 00:16:29 - перейти к сообщению
Присоединяюсь к предидущему ответу! А если еще добавить AJAX то вмолне можно сделать чтобы при выборе определенной марки предлагался выбор моделей этой марки.
Могу выложить пример...
11. Платинум - 20 Августа, 2009 - 08:38:59 - перейти к сообщению
Цитата:
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location=""+selObj.options[selObj.selectedIndex].value+""");
if (restore) selObj.selectedIndex=0;
}
//-->

А почему скрипт описан как комментарий ? Не понял
<!--бла-бла-бла//-->
12. Champion - 20 Августа, 2009 - 09:38:35 - перейти к сообщению
Платинум внутри <script> <!-- - это не комментарий. Для браузнров, которые понимают <script>. Просто есть браузеры, которые не понимают тэг <script> и выведут всё в браузер, если так не сделать.
13. Rus88 - 20 Августа, 2009 - 11:15:18 - перейти к сообщению
dsb80 пишет:
Присоединяюсь к предидущему ответу! А если еще добавить AJAX то вмолне можно сделать чтобы при выборе определенной марки предлагался выбор моделей этой марки.
Могу выложить пример...

Цитата:
Выложи посмотрим что у тебя.......

(Добавление)
В принципе я знаю как делать выборку из базы (SELECT * FROM WHERE), но какой принцип лучше исрользовать в данный момент выборку из базы или использование Javascript А?!
14. Champion - 20 Августа, 2009 - 12:11:43 - перейти к сообщению
Rus88, одно другому не противоречит. Что ты хотел сказать?
15. Rus88 - 20 Августа, 2009 - 15:31:08 - перейти к сообщению
Champion пишет:
Rus88, одно другому не противоречит. Что ты хотел сказать?


Хотел сказать помогите понять принцип работы этих списков как второй зависет от первого, хоть как нибудь, сколько не писали все равно непонятно

 

Powered by ExBB FM 1.0 RC1