Динамические формы на Javascript
3138
2
Добрый день!
Есть такая проблемка - никак не могу решить без коренного изменения кода, есть такой код:
< type="text/java">
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);
}
}
}





Континент:
Африка
Азия
Австралия
Европа
С. Америка
Ю. Америка
 

Город:
Суть в чем - при выборе континента, автоматически во втором поле генерится список городов. Собственно нужно, чтобы при выборе континента во втором поле сразу на определенный город ставился selected, пробовал по всякому - никак не получается. Кто подскажет?
Fender
Ну, например, сделай cityChooser[ 1 ] . selected = "true";

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);
}
cityChooser[ 1 ] . selected = "true";
}
}