The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"JavaScript - связанные SELECT-ы"
Отправлено klyaznik, 03-Мрт-05 15:50 
Помогите пожалуйста сделать три связных SELECT-а. Пример: Район -> Улица -> Дом. То есть в одном SELECT-е выбираешь район - в другом остаются только нужные улицы, а в третьем - только нужные дома. Нашел код, которые делает связку Район -> Улица и не могу изменить его для связки трех SELECT-ов:
<html><head></head><body>
    <form name="info">
    <select name="segment_id" onChange="redirect(this.options.selectedIndex);" onClick="redirect(this.options.selectedIndex);">
    <option value="">Выберите сегмент</option>
    <option value="1">Ферма</option>
    <option value="2">Город</option>
    </select>
    <select name="street_id" onchange="modelvalue();">
    <option value="">Выберите улицу</option>
    </select>
    <script>
    var groups=document.info.segment_id.options.length
    var group=new Array(groups)
    for (i=0; i<groups; i++)
    group[i]=new Array()
    group[1][0]=new Option("Ясная","1")
    group[1][1]=new Option("Лесная","2")
    group[2][0]=new Option("Кооперативная","3")
    group[2][1]=new Option("Новоугличевский пр-т","4")
    group[2][2]=new Option("Спортивная","5")
    document.info.segment_id.index = document.info.segment_id.options[0].text;
    var temp=document.info.street_id;
    function redirect(x){
        for (m=temp.options.length-1;m>0;m--)
        temp.options[m]=null
        for (i=0;i<group[x].length;i++){
            temp.options[i]=new Option(group[x][i].text,group[x][i].value)
        }
        var prevalue = document.info.segment_id.value
        var sufvalue = temp.value
        document.revision.productid.value=(prevalue+"-"+sufvalue)
    }
    function modelvalue(){
        var prevalue2=document.info.segment_id.value
        var sufvalue2=document.info.street_id.value
        document.revision.productid.value=(prevalue2+"-"+sufvalue2)
    }
    </script>
    <input type=submit></form>
</body></html>

На крайний случай устроит связка такого типа - выбираешь район и в двух других SELECT-ах остаются данные, привязанные к району.

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру