Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2010, 00:50   #1
sozonya
Новичок
Джуниор
 
Регистрация: 17.05.2010
Сообщений: 1
По умолчанию связанные selectы

Доброго времени суток! Помоги пож. решить мою проблему, в Javascript только начинаю разбираться. В уже готовый код надо добавить третий связанный селект (см. id=nasPunkt). В массив добавила, а вот с самим кодом проблема. Вероятно куда-то надо вставить еще один onchange? Подскажите плиз.
Код:
<html>
<head>
	<title>Untitled</title>
</head>

<body>
			<select name="reg" id="mestoReg"></select>
			<select name="ter" id="terTs"></select>
			<select name="punkt" id="nasPunkt"></select>
<script type="text/javascript">
var oReg = [{
"value"	: "1",
"text" : "Россия",
"ter" : [{
        "value"     : "1",
        "text"      : "Москва",
        "punkt"    : 0},
	{
        "value"     : "2",
        "text"      : "Московская обл.",
		"punkt"		: 0},
	{
		"value"     : "3",
        "text"      : "Тульская обл.",
		"punkt"		: [{
                "value" : "1",
                "text"  : "Алексин"},
				{
                "value" : "2",
                "text"  : "Новомосковск"}, 
				{
                "value" : "3",
                "text"  : "Тула"}]
		}]
	},
{"value"	: "2",
"text" : "Иностранное государство",
"ter" : 0}
];

var mestoReg = document.getElementById("mestoReg");
var terTs = document.getElementById("terTs");

terTs.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);
    }
}

terTs.load = load;
mestoReg.load = load;

mestoReg.onchange = function() {
terTs.clear();
terTs.load(oReg[this.value - 1].ter);
}

mestoReg.load(oReg);
mestoReg.onchange();

</script>

</body>
</html>
sozonya вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связанные списки в C++ Rembo Общие вопросы C/C++ 47 11.07.2016 12:45
Связанные поля Fezdipekla Microsoft Office Access 1 20.04.2010 18:29
Связанные списки Fezdipekla Microsoft Office Access 3 02.04.2010 22:07
Связанные поля??? Gridnev_Kirill Microsoft Office Access 3 05.11.2009 11:54
Связанные формы Jq KEV JavaScript, Ajax 1 28.05.2009 20:03