Два списка (select) - измен. 2-го в завис. от 1-го

Тема в разделе "HTML, CSS, XML, JavaScript", создана пользователем Myborisov, 26 фев 2006.

Статус темы:
Закрыта.
  1. Myborisov

    Myborisov Гость

    Срочно возникла необходимость вставить в форму два выпадающих меню (select) на java !

    Нужно, чтобы при выборе пользователем области изменялся список городов во втором выпадающем списке без перезагрузки страницы.

    Постараюсь объяснить подробнее:

    У меня форма имеет вид:

    Код (Text):
    <form name="search" action="searchlocation.php" method="post">
    <select size="1" name="oblast">
    <option value=>Выберите область</option>
    <option value="1">Минская</option>
    <option value="2">Могилёвская</option>
    <option value="3">Гомельская</option>
    <option value="4">Витебская</option>
    <option value="5">Брестская</option>
    <option value="6">Гродненская</option>
    </select>
    <br><br>
    <select size="1" name="gorod">
    <option value=>Выберите город</option>
    <option value="1">Минск</option>
    <option value="2">Борисов</option>
    <option value="3">Жодино</option>
    <option value="4">Могилёв</option>
    <option value="5">Шклов</option>
    <option value="6">Гомель</option>
    <option value="7">Светлогорск</option>
    <option value="8">Витебск</option>
    <option value="9">Полоцк</option>
    <option value="10">Брест</option>
    <option value="11">Барановичи</option>
    <option value="12">Гродно</option>
    <option value="13">Лида</option>
    </select>
    </form>
    Т.е мне нужно, чтобы при выборе в первом выпадающем списке, например Минской области (value=1) - во втором были только города со значением value от 1 до 3 (Т.е. при выборе Минской области появлялись города - Минск, Борисов, Жодино). При выборе Могилёвской области - города со значением value от 4 до 5 (естественно - у меня городов будет не два, а больше). И т.д. шесть областей - и с каждой около 20 городов. Но чтобы при выборе одной из них - во втором списке были только города этой области.

    Нужно сделать так, чтобы после выбора нужной области и города скрипту (обработчику формы) отправлялись значения value двух списков (выбранной области и города).

    Ребята - помогите, пожалуйста!
     
  2. Gisma

    Gisma Гость

    java или js?
     
  3. Andrew Stephanoff

    Andrew Stephanoff Гость

    Вот наспех накидал..
    Код (Text):
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <title>test</title>
    </head>

    <body>

     <select id="cmbRegion" name="region"></select>
     <select id="cmbCities" name="cities"></select>

     <script type="text/javascript">
    var oRegion = [{
       "value"   : "1",
       "text"   : "Минская",
       "cities"  : [{
           "value" : "1",
           "text" : "Минск"
         }, {
           "value" : "2",
           "text" : "Борисов"
         }, {
           "value" : "3",
           "text" : "Жодино"
       }]
     }, {
       "value"   : "2",
       "text"   : "Могилевская",
       "cities"  : [{
           "value" : "4",
           "text" : "Могилев"
         }, {
           "value" : "5",
           "text" : "Шклов"
       }]
    }];
    var cmbRegion = document.getElementById("cmbRegion");
    var cmbCities = document.getElementById("cmbCities");

    cmbCities.clear = function() {
     while(this.childNodes.length > 0) {
       this.removeChild(this.firstChild);
     }
    }
    function load(aValues) {
     var oOption = {};
     for (i = 0, count = aValues.length; i < count; i ++) {
       oOption = document.createElement("OPTION");
       oOption.value = aValues[i].value;
       oOption.appendChild(document.createTextNode(aValues[i].text));
       this.appendChild(oOption);
     }
    }

    cmbCities.load = load;
    cmbRegion.load = load;

    cmbRegion.onchange = function() {
     cmbCities.clear();
     cmbCities.load(oRegion[this.value - 1].cities);        
    }
    cmbRegion.load(oRegion);
    cmbRegion.onchange();
     </script>

    </body>
    </html>
     
  4. Myborisov

    Myborisov Гость

    Огромное Вам СПАСИБО!

    Два дня искал в интернете - натыкался на всякие предложения - но всё не то, а сегодня решил обратиться к программистам-соотечествинникам - и сразу помогли именно тем, чем надо! :ph34r:

    Вялікі Вам ДЗЯКУЙ!!! :ph34r:
     
  5. Andrew Stephanoff

    Andrew Stephanoff Гость

    А ты не ищи счастья заграницей :ph34r:
    Цени свою Родину!
     
  6. Myborisov

    Myborisov Гость

Загрузка...
Похожие Темы - Два списка (select)
  1. XiNoID
    Ответов:
    6
    Просмотров:
    807
  2. Shm0N
    Ответов:
    1
    Просмотров:
    994
  3. alturgrey
    Ответов:
    3
    Просмотров:
    1.146
  4. lizkaliz
    Ответов:
    0
    Просмотров:
    1.131
  5. andruxai
    Ответов:
    2
    Просмотров:
    1.370
Статус темы:
Закрыта.

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