我有一个包含多个下拉菜单的表单...我想将可见下拉列表的背景颜色设置为灰色时禁用它们。所有这些下拉列表的id都以usrControl开头。这就是我迄今为止所拥有的......
$('select[id ^= "usrControl"]:visible').each(function(){
this.css("background-color")
});
不确定如何获取已禁用/已启用的选择器。
提前致谢
Protected _picklistColorScriptText As String = "$(document).ready(function(){ " + _
"$('[id ^= ""usrControl""]:visible:disabled').css(""background-color"", '#DCDCDC'); " + _
"$('[id ^= ""usrControl""]:visible:enabled').css(""background-color"", '#FFFFFF');" + _
"});"
这很有效。但是,这会将整个控件的背景设置为灰色,如何将所选项的颜色更改为灰色?
答案 0 :(得分:3)
您可以使用:disabled伪选择器。另外,你不需要jQuery.each。只需对付返回的节点集。
$('select[id ^= "usrControl"]:visible:disabled').css("background-color", 'gray');
这里的工作示例:http://jsfiddle.net/Cwm4W/
更新:回应下面的OP澄清,你可以简单地选择包含的选项:
$('select[id ^= "usrControl"]:visible:disabled option').css("background-color", 'gray');
这里的工作示例:http://jsfiddle.net/Cwm4W/1/
答案 1 :(得分:0)
您只获取CSS属性。 试试这个:
$(this).css( "property", "value" );
答案 2 :(得分:0)
我相信你在寻找
$('select[id ^="usrControl":visible:disabled].each(...