Santyaga, обьект
syncList1.dataList содержит ошибки - отсутствуют запятые и фигурные скобки ...
Возможный вариант решения ниже ...
<!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">
<head>
<title></title>
<script type="text/javascript">
var dataList = {
'abh': {
'gagra': 'Гагра',
'picunda': 'Пицунда',
'gudayta': 'Гудаута',
'new_afon': 'Новый Афон',
'suxum': 'Сухум'
},
'gagra': {
'amra': '"Амра" - санаторий',
'san_marina': '"Сан-Марина" - пансионат',
'solnechnii_do': '"Солнечный" - дом отдыха',
'solnechnii_lp': '"Солнечный" - летний пансионат',
'kavkaz': '"Кавказ" - пансионат',
'alex': '"Alex Beach Hotel 4*" - отель',
'bagripsh': '"Багрипш (Холодная речка)" - пансионат',
'kolxida': '"Колхида" - дом отдыха',
'apsni': '"Апсны-Абазашта" - дом отдыха',
'zakavkaz': '"Закавказье" - дом отдыха',
'energetik': '"Энергетик" - пансионат',
'moscow': '"Москва" - санаторий',
'lazur': '"Лазурный берег" - пансионат',
'aibga': '"Аибга - пансионат"',
'abaata': '"Абаата - отель"',
'serebr_dvor': '"Серебряный двор" - частная гостиница',
'tropikana': '"Тропикана" - гостевой дом',
'nart': '"Нарт" - дом отдыха',
'chegem': '"Чегем" - дом отдыха',
'raida': '"Райда" - гостиница'
},
'amra': {
'glavnii_amra': '"Главный" корпус',
'amra_korpus_2': '"Корпус №2"'
},
'glavnii_amra': {
'2_x_mestn_more': '2-х местный 1-но комнатный номер – вид на море',
'2_x_mestn_bok': '2-х местный 1-но комнатный номер – боковой',
'2_x_mestn_semilux': '2-х местный 2-х комнатный номер «Полулюкс»'
},
'amra_korpus_2': {
'2_x_mestn': '2-х местный 1-но комнатный номер'
}
};
var m_out = ['Направление: ','Курорт: ','Обьект: ','Корпус: ','Номер: '];
var t = [];
function fg(d) {
document.getElementById("out").innerHTML = "";
var a = document.getElementById("List" + d),
c = dataList[a.options[a.selectedIndex].value];
t[d] = a.options[a.selectedIndex].text;
for (var b = 0; b < 5; b++) {
a = document.getElementById("List" + b);
if (b > d) {
a.options.length = 0;
t[b] = "---";
if (c) for (var e in c) a.options[a.options.length] = new Option(c[e], e);
c = false;
if (a.options.length) {
c = dataList[a.options[0].value];
t[b] = a.options[0].text
}
}
document.getElementById("out").innerHTML += m_out[b] + t[b] + "<br />"
}
};
window.onload = function ()
{
var s = ["List0","List1","List2","List3","List4"];
for (var i=0; i < s.length; i++) document.getElementById(s[i]).onchange = function(a){return function(){fg(a)}}(i);
fg(0);
}
</script>
</head>
<body>
<select size="6" id="List0">
<option value="abh" selected="selected"> Абхазия </option>
<option value="kr_kr"> Краснодарский край </option>
<option value="krim"> Крым </option>
<option value="belarus"> Беларусь </option>
<option value="undermos"> Подмосковье </option>
</select>
<select size="6" id="List1"></select>
<select size="6" id="List2"></select>
<select size="6" id="List3"></select>
<select size="6" id="List4"></select>
<p id="out"></p>
</body>
</html>