зависимые SELECT

Тема в разделе "Программирование", создана пользователем Legion495, 29.05.2008.

  1. Offline

    Legion495 Недавно здесь

    Регистрация:
    30.08.2007
    Сообщения:
    21
    Симпатии:
    0
    Пол:
    Мужской
    Всем привет.
    вопрос поставил компонент autoexp и решил не много изменить его например при выборе марки авто в нем автоматом выдается список моделей хотел добавить что бы при выборе модели в другом спике выдавался список модификаций для данной модели. нашел в файле часть кода php который формирует javascrit обрабатывающий действия над селектами. на его основе добавил такой же код для выбора модификации вроде работает но очень криво при выборе вольвы S80 выдает модификацию для ВАЗ 21099 и при чем везже показывает ее. помогите понять в чем проблемма.
    вот кусок кода по выбору модификации

    Код (PHP):
    1. echo "<script language=\"JavaScript\">\r\n"; //type=\"text/javascript\"
    2. echo "var modi = new Array();\r\n";
    3. echo "var modi_id = new Array();\r\n";
    4. echo "modi[0] = [\"select\"];\r\n";
    5. echo "modi_id[0] = [\"\"];\r\n";
    6. $j = 0;
    7. foreach($models as $key1)
    8. {
    9. $strs = "modi[".$j."]=[";
    10. $str2s = "modi_id[".$j."]=[";
    11. $database->setQuery("SELECT id, modi_id, name FROM #__autoexp_modi WHERE published = '1' AND id = '".$key1->id."'");
    12. $modi = $database->loadObjectList();
    13. foreach($modi as $key3)//for($f = 0; $f < count($s_models)-1; $f++)
    14. {
    15. $strs .= "\"".$key3->name ."\", ";
    16. $str2s .= "\"".$key3->id ."\", ";
    17. }
    18. if(substr($strs, strlen($strs) -2, 2) == ", ")
    19. {
    20. $strs = substr($strs, 0, strlen($strs) -2);
    21. }
    22. $strs .= "];\r\n";
    23. $str2s .= "];\r\n";
    24. echo $strs;
    25. echo $str2s;
    26. $j++;
    27. }
    28. //echo "var modellist = document.form.usr_model;\r\n";
    29. echo "var modilist = document.form.usr_modi;\r\n";
    30. echo "modilist.options[0] = new Option(modi[0][0], 0);\r\n";
    31. //echo "modellist.options[0] = new Option(models[0][0], 0);\r\n";
    32. $method_update = "function update_modi(selectedgroup)\r\n";
    33. $method_update .= "{\r\n";
    34. //$method_update .= "alert('go..go..go..' + selectedgroup);\r\n";
    35. $method_update .= "modilist.options.length = 0;\r\n";
    36. $method_update .= "if(selectedgroup > 0)\r\n";
    37. $method_update .= "{\r\n";
    38. $method_update .= "for(i = 0; i <= modi[selectedgroup].length; i++)\r\n";
    39. $method_update .= "{\r\n";
    40. $method_update .= "if( i == 0)\r\n";
    41. $method_update .= "modilist.options[modilist.options.length] = new Option(modi[0][0], 0);\r\n else \r\n";
    42. $method_update .= "modilist.options[modilist.options.length] = new Option(modi[selectedgroup][i-1],";
    43. $method_update .= " modi_id[selectedgroup][i-1]);\r\n";
    44. $method_update .= "}\r\n";
    45. $method_update .= "}\r\n";
    46. $method_update .= "if(selectedgroup == 0){\r\n";
    47. $method_update .= "modilist.options[modilist.options.length] = new Option(modi[0][0], 0);\r\n";
    48. $method_update .= "}\r\n";
    49. $method_update .= "}\r\n";
    50. echo $method_update;
    51. echo "</script>\r\n";


    нужны еще какие либо данные?
     
  2.  

Поделиться этой страницей

Загрузка...