
Шустрый

Профиль
Группа: Участник
Сообщений: 98
Регистрация: 4.1.2008
Репутация: нет Всего: нет
|
Отлично, это то что нужно. Ещё вчера нашёл похожее на сайте http://auto.drom.ru/?searchВозможно ли в вашем примере обновлять сразу два выпадающих списка? Например у вас при выборе континетнов обновляются города [ "sity"] и ещё добавить выпадающий список [ "sity2"]. В Java не силён. | Код |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Изменение значения в поле Select (c) Aliance</title> <script type="text/javascript">
var regiondb = new Object() regiondb["africa"] = [{value:"1", text:"Каир"}, {value:"2", text:"Триполи"}, {value:"3", text:"Алжир"}, {value:"4", text:"Претория"}]; regiondb["asia"] = [{value:"1", text:"Банкок"}, {value:"2", text:"Дели"}, {value:"3", text:"Улан-Батор"}, {value:"4", text:"Джакарта"}, {value:"5", text:"Токио"}]; regiondb["australia"] = [{value:"1", text:"Мельбурн"}, {value:"2", text:"Сидней"}]; regiondb["europe"] = [{value:"1", text:"СПб"}, {value:"2", text:"Лондон"}, {value:"3", text:"Афины"}, {value:"4", text:"Барселона"}, {value:"5", text:"Париж"}, {value:"6", text:"Рим"}, {value:"7", text:"Москва"}, {value:"69", text:"Бабруйск :)"}]; regiondb["noamer"] = [{value:"1", text:"Нью-Йорк"}, {value:"2", text:"Вашингтон"}, {value:"3", text:"Лос Анджелес"}, {value:"4", text:"Оттава"}]; regiondb["soamer"] = [{value:"1", text:"Рио дэ Жанейро"}, {value:"2", text:"Лима"}, {value:"3", text:"Каракас"}];
function setCities(chooser) { var cityChooser = chooser.form.elements["city"]; // обнуляем список cityChooser.options.length = 0; // получаем value для массива regiondb var choice = chooser.options[chooser.selectedIndex].value; var db = regiondb[choice]; // вставляем первый элемент cityChooser.options[0] = new Option("Город: ", "", true, false); if (choice != "") { for (var i = 0; i < db.length; i++) { cityChooser.options[i + 1] = new Option(db[i].text, db[i].value); } } }
</script> </head> <body> <form name="dealers" action=""> <select name="continent" onchange="setCities(this)"> <option value="" selected>Континент: </option> <option value="africa">Африка</option> <option value="asia">Азия</option> <option value="australia">Австралия</option> <option value="europe">Европа</option> <option value="noamer">С. Америка</option> <option value="soamer">Ю. Америка</option> </select> <select name="city"> <option value="" selected>Город: </option> </select> </form> </body> </html>
|
У меня получилось так, не знаю правильно или нет? | Код | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Изменение значения в поле Select (c) Aliance</title> <script type="text/javascript">
var regiondb2 = new Object() // добавил regiondb2 regiondb2["africa"] = [{value:"1", text:"Каир2"}, {value:"2", text:"Триполи2"}, {value:"3", text:"Алжир2"}, {value:"4", text:"Претория2"}];
var regiondb = new Object() regiondb["africa"] = [{value:"1", text:"Каир"}, {value:"2", text:"Триполи"}, {value:"3", text:"Алжир"}, {value:"4", text:"Претория"}]; regiondb["asia"] = [{value:"1", text:"Банкок"}, {value:"2", text:"Дели"}, {value:"3", text:"Улан-Батор"}, {value:"4", text:"Джакарта"}, {value:"5", text:"Токио"}]; regiondb["australia"] = [{value:"1", text:"Мельбурн"}, {value:"2", text:"Сидней"}]; regiondb["europe"] = [{value:"1", text:"СПб"}, {value:"2", text:"Лондон"}, {value:"3", text:"Афины"}, {value:"4", text:"Барселона"}, {value:"5", text:"Париж"}, {value:"6", text:"Рим"}, {value:"7", text:"Москва"}, {value:"69", text:"Бабруйск :)"}]; regiondb["noamer"] = [{value:"1", text:"Нью-Йорк"}, {value:"2", text:"Вашингтон"}, {value:"3", text:"Лос Анджелес"}, {value:"4", text:"Оттава"}]; regiondb["soamer"] = [{value:"1", text:"Рио дэ Жанейро"}, {value:"2", text:"Лима"}, {value:"3", text:"Каракас"}];
function setCities(chooser) { var cityChooser = chooser.form.elements["city"]; var cityChooser2 = chooser.form.elements["city2"]; // добавил city2 // обнуляем список cityChooser.options.length = 0; cityChooser2.options.length = 0; // обнулил список 2 // получаем value для массива regiondb var choice = chooser.options[chooser.selectedIndex].value; var db = regiondb[choice]; var db2 = regiondb2[choice]; // добавил db2 для regiondb2 // вставляем первый элемент cityChooser.options[0] = new Option("Город: ", "", true, false); cityChooser2.options[0] = new Option("Город: ", "", true, false); // вставил первый элемент для второго списка if (choice != "") { for (var i = 0; i < db.length; i++) { cityChooser.options[i + 1] = new Option(db[i].text, db[i].value); } } if (choice != "") { // добавляю значения для второго списка for (var i = 0; i < db2.length; i++) { cityChooser2.options[i + 1] = new Option(db2[i].text, db2[i].value); } }
}
</script> </head> <body> <form name="dealers" action=""> <select name="continent" onchange="setCities(this)"> <option value="" selected>Континент: </option> <option value="africa">Африка</option> <option value="asia">Азия</option> <option value="australia">Австралия</option> <option value="europe">Европа</option> <option value="noamer">С. Америка</option> <option value="soamer">Ю. Америка</option> </select> <select name="city"> <option value="" selected>Город: </option> </select> <select name="city2"> <!-- добавил второй выпадающий список --> <option value="" selected>Город: </option> </select> </form> </body> </html>
|
Это сообщение отредактировал(а) bork - 27.4.2009, 13:29
|