我可以使用CSS或脚本设置禁用的控件的样式吗?

时间:2009-12-08 15:35:12

标签: jquery html css

我在页面上有一个HTML div元素,当页面上的select元素发生更改时,该元素会更新。有时需要根据选择禁用input标记(文本框)。

问题在于:项目利益相关者喜欢功能,他们只是认为处于“禁用”状态,文本框内容太轻,因此不可读。我可以将CSS应用于禁用的控件吗?或者我应该将文本框设置为readonly并使用其他CSS。这个应用程序也使用jQuery,如果这有帮助。还有想法或建议吗?

5 个答案:

答案 0 :(得分:8)

input[type="submit"][disabled="disabled"]
{
    /* CSS here */
}
input[type="text"][disabled="disabled"]
{
    /* CSS here */
}
input[type="button"][disabled="disabled"]
{
    /* CSS here */
}

如果输入标记类似于:

,则在每个浏览器中都有效
<input type="submit" disabled="disabled">

如果您想在未禁用时更改它,只需将其添加到您的CSS

即可
input[type="submit"]
{
    /* CSS here */
}
input[type="text"]
{
    /* CSS here */
}
input[type="button"]
{
    /* CSS here */
}

答案 1 :(得分:4)

是的,你可以。在CSS中:

input[disabled]{color:green}

或jQuery:

$('input[disabled]').css('color','green');

更新:这仅适用于gecko / webkit。

答案 2 :(得分:2)

将CSS应用于元素不受元素是否被禁用的影响。

答案 3 :(得分:2)

我会将它们设置为只读,因为显然您希望人们能够阅读它们,人们可能还希望从中选择文本进行复制/粘贴,并且禁用文本框时也禁用选择。但是,无论元素是否被禁用,您的CSS都应该正常工作。

答案 4 :(得分:0)

如果你在禁用的元素中遇到不可覆盖的样式有问题 - Upper Stage指出样式没有限制,而且第二个想法他可能是对的 - 你可能最好给控件一个{ {1}}属性并使用readonly

“手动禁用”它

请注意,这不会像禁用控件一样100%工作:它的值将与表单一起提交。