спасибо за подсказу, решение Amphiluke и правда куда элегантней))) правда немножко его переделал
| Код | var a = [1,22,3,4,5,6,7,87]; function addEventHandler(obj, evnt, handler) { if (obj.addEventListener) obj.addEventListener(evnt, handler, false); else obj.attachEvent("on" + evnt, handler); } function showHideSubjacent(evnt) { var ev = (evnt) ? evnt : event; var sender = (ev.target) ? ev.target : ev.srcElement; var sels = sender.form.getElementsByTagName("select"); for (var i = sels.length - 1; i > -1; i--) { if ((sels[i - 1] == sender) || (sels[i] == sender)) { sels[i].innerHTML = ''; for(var j=0;j<a.length;j++){ var option = document.createElement('option'); option.innerHTML = a[j]; sels[i].appendChild(option); } sels[i].parentNode.parentNode.style.visibility = "visible"; break; } sels[i].parentNode.parentNode.style.visibility = "hidden"; } } function addSelectHandlers() { var sels = document.getElementById("formid").getElementsByTagName("select"); addEventHandler(sels[0], "change", showHideSubjacent); for (var i = 1; i < sels.length; i++) { sels[i].parentNode.parentNode.style.visibility = "hidden"; addEventHandler(sels[i], "change", showHideSubjacent); } } addEventHandler(window, "load", addSelectHandlers);
|
потом вместо массива добавлю подгрузку ajax'ом |