Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не работает двойной выпадающий список 
:(
    Опции темы
kulikoff
Дата 25.5.2008, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 334
Регистрация: 5.11.2005
Где: Киев

Репутация: нет
Всего: 1



Доброго всем времени суток!
Такая беда, мне надо организовать двойной выпадающий список, т.е., чтоб в зависимости от выбранного пункта в первом списке формировался второй. В одной книжке нашел решение, но оно у меня почему-то не работает. Там обработчик событий onChange организовано через JavaScript:
Код

<script language='JavaScript1.1' type='text/javascript'>
<!--
        var messageIdList=new Array(<?= implode(",", $array_catalog) ?>);
        function show(sel) {
            for (i=0; i<messageIdList.length; i++) {
                document.getElementById(messageIdList[i]).style.display="none";
            }
            var selectedVal=sel.options[sel.selectedIndex].value;
            document.getElementById(selectedVal).style.display="block";
        }        
    -->
</script>

А сам РНР-скрипт выглядит так:
Код

$query="select * from carfabric order by carfabric_name";
$cat=mysql_query($query);
if(!$cat) exit(mysql_error());
if(mysql_num_rows($cat)>0) {
   echo("<select name='carfabric_id' onchange='show(this.form.carfabric_id)'>");
   echo("<option value=0>-Выберите марку-</option>");
    while($catalog=mysql_fetch_array($cat)) {
        if($_POST['carfabric_id']==$catalog['carfabric_id']) {
            $selected="selected";
        } else {
             $selected="";
        }
        echo("<option value=$catalog[carfabric_id] $selected>$catalog[carfabric_name]</option>");
        $array_catalog['a']=$catalog['carfabric_id'];
    }
echo("</select>");
}
$query="select * from carfabric";
$cat=mysql_query($query);
if(!$cat) exit(mysql_error());
    if(mysql_num_rows($cat)>0) {
        while($catalog=mysql_fetch_array($cat)) {
            $query="select * from carmodel where carfabric_id=$catalog[carfabric_id] order by carmodel_name";
            $prd=mysql_query($query);
            if(!$prd) exit(mysql_error());
                if(mysql_num_rows($prd)>0) {
                    echo("<select id=$catalog[carfabric_id] style='display:none' name='product$catalog[carfabric_id]'>");
                    while($product=mysql_fetch_array($prd)) {
                        if($_POST['carfabric_id']==$product['carfabric_id']) {
                            $selected="selected";
                        } else {
                            $selected="";
                        }
                        echo("<option value='$product[carfabric_id]' $selected>$product[carmodel_name]</option>");
                    }
                    echo("</select>");
                }
            }
        }

При выполнении у меня  почему-то выводится куча выпадающих списков - первый - это данные из таблицы carfabric , а остальные списки - это списки, сформированные для каждого пункта первого. В ИЕ внизу, где выводятся ошибки Явы пишет ошибку "Требуется объект".
Какой объект? Подскажите, плиз, как выправить этот скрипт, т.к. его плюс в том, что не требует перегружать страницу при каждом выборе пункта.
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0378 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.