IE계열에서 select-option의 disabled체크 함수가 일반 select의 onchange함수를 무시하는 버그 수정

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@3670 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2008-02-14 09:43:53 +00:00
parent 5e63bdf0f8
commit ee4b8af791

View file

@ -942,11 +942,22 @@ var Base64 = {
}
/* select - option의 disabled=disabled 속성을 IE에서도 체크하기 위한 함수 */
if(xIE4Up) {
xAddEventListener(window, 'load', activateOptionDisabled);
function activateOptionDisabled(evt) {
var sels = xGetElementsByTagName('select');
for(var i=0; i < sels.length; i++){
var disabled_exists = false;
for(var j=0; j < sels[i].options.length; j++) {
if(sels[i].options[j].disabled) {
sels[i].options[j].style.color = '#CCCCCC';
disabled_exists = true;
}
}
if(!disabled_exists) continue;
sels[i].onchange = function() {
if(this.options[this.selectedIndex].disabled) {
if(this.options.length<=1) this.selectedIndex = -1;
@ -957,8 +968,6 @@ var Base64 = {
if(sels[i].selectedIndex >= 0 && sels[i].options[ sels[i].selectedIndex ].disabled) sels[i].onchange();
for(var j=0; j < sels[i].options.length; j++) {
if(sels[i].options[j].disabled) sels[i].options[j].style.color = '#CCCCCC';
}
}
}
}