由于IE 7不支持disabled
属性,我使用jQuery向change
事件添加事件处理程序,该事件检查select和是否存在disabled
属性在已禁用选项上将css color
设置为grey
。
然而,一旦我点击下拉列表,它会先关闭我的下拉列表,然后重新绘制一个灰色的新下拉列表。
这是我的代码:
(function($) {
$('select').change(function() {
if (this.options[this.selectedIndex].disabled) {
if (this.options.length == 0) {
this.selectedIndex = -1;
} else {
this.selectedIndex--;
}
//$(this).trigger('change');
}
});
$('select').each(function(it) {
if (this.options[this.selectedIndex].disabled) {
this.onchange();
}
});
$('select').click(function(e) {
//e.stopPropagation();
$(this).find('option[disabled]').css({
'color': '#cccccc'
});
});
})(jQuery);
答案 0 :(得分:0)
看看我为你做的这个例子: http://jsfiddle.net/auNVE/
它应该为您提供足够的信息以便进一步开发!
祝你好运! 修改强>
有更多信息后更新
http://jsfiddle.net/auNVE/1/
修改强>
现在使用mousedown
代替click
http://jsfiddle.net/auNVE/2/