工作中需要用到disabled掉一些select的option,结果发现IE6没有实现它。
还好我们下载select-option-disabled-emulation.js文件即可自动完成disabled标记的工作。
代码如下:
- window.onload = function () {
- if (document.getElementsByTagName) {
- var s = document.getElementsByTagName( "select" );
- if (s.length > 0) {
- window.select_current = new Array();
- for ( var i=0, select; select = s[i]; i++) {
- select.onfocus = function (){ window.select_current[ this .id] = this .selectedIndex; }
- select.onchange = function (){ restore( this ); }
- emulate(select);
- }
- }
- }
- }
- function restore(e) {
- if (e.options[e.selectedIndex].disabled) {
- e.selectedIndex = window.select_current[e.id];
- }
- }
- function emulate(e) {
- for ( var i=0, option; option = e.options[i]; i++) {
- if (option.disabled) {
- option.style.color = "graytext" ;
- }
- else {
- option.style.color = "menutext" ;
- }
- }
- }