<select id="sel1">
<option>Пункт 1</option>
<option>Пункт 2</option>
<option>Пункт 3</option>
<option>Пункт 4</option>
</select>
<select id="sel2">
<option value="0">Пункт 101 </option>
<option value="0">Пункт 102 </option>
<option value="0">Пункт 103 </option>
<option value="1">Пункт 201 </option>
<option value="1">Пункт 202 </option>
<option value="1">Пункт 203 </option>
<option value="2">Пункт 301 </option>
<option value="2">Пункт 302 </option>
<option value="2">Пункт 302 </option>
<option value="3">Пункт 401 </option>
<option value="3">Пункт 402 </option>
<option value="3">Пункт 403 </option>
</select>
<select id="sel3">
<option>Пункт 1</option>
<option>Пункт 2</option>
<option>Пункт 3</option>
<option>Пункт 4</option>
</select>
<script>
window.onload = function () {//onload begin
var sel1 = document.getElementById('sel1');
var sel2 = document.getElementById('sel2');
var sel3 = document.getElementById('sel3');
var childs = sel2.options;
var len = sel2.children.length;
var index;
var flag;
for (var i = 0; i < len; i++) {
index = sel1.selectedIndex;
if (parseInt(childs[i].value) == index) {
childs[i].style.display = 'block';
} else {
childs[i].style.display = 'none';
}
}
sel1.onchange = function () {
index = sel1.selectedIndex;
flag = 0;
for (var i = 0; i < len; i++) {
if (parseInt(childs[i].value) == index) {
if (flag == 0) {
childs[i].style.display = 'block';
sel2.selectedIndex = i;
flag = 1;
} else {
childs[i].style.display = 'block';
}
} else {
childs[i].style.display = 'none';
}
}
sel3.selectedIndex = sel1.selectedIndex;
}
}//onload end
</script>