我怎样才能使禁用的字段变灰?

Posted

技术标签:

【中文标题】我怎样才能使禁用的字段变灰?【英文标题】:how can I greyout a disabled field? 【发布时间】:2011-11-05 16:18:08 【问题描述】:

可能不是 JSF 问题,但 JSF 专家可能更了解这一点 我在表单上有一些字段根据一些 ajax 请求被禁用。我想在禁用时将它们显示为灰色。

让我知道您需要查看代码,但只是使用简单

<f:ajax event="keydown" execute="@this" render="field1 field2" />

字段 1 有

disabled="#not empty someBean.someProperty"

CSS 是

#content input .disabled color: #DCDAD1; padding: 2px; margin: 0 0 0 0;background-image=""

禁用本身工作正常,但不会变灰

如果JSF标签不正确,谢谢和applogies

【问题讨论】:

我从来没有用过JSF,但是你需要删除css选择器中input.disabled之间的空格吗? 【参考方案1】:

JSF 输入组件的disabled 属性不会发出像class="disabled" 这样的样式类,或者像您的CSS 声明所期望的那样。它只是在生成的 html 元素上设置 HTML 标准的 disabled 属性。要亲眼看到它,请在您喜欢的浏览器中打开 JSF 页面,右键单击并查看源代码。它看起来像

<input type="text" disabled="disabled" />

您需要使用 CSS 属性选择器element[attrname]。如果element 上存在attrname 的属性,则将应用该样式。

#content input[disabled] 
    color: #DCDAD1;
    padding: 2px;
    margin: 0 0 0 0;
    background-image: none;

(请注意,我修复了 background-image 声明并且它是无效的)

【讨论】:

我使用的是 FF34,看来你现在需要使用背景色而不是颜色? #DCDAD1 color 是灰色项目的通用颜色吗? @ayjay:不,我只是从问题中接管了颜色。

以上是关于我怎样才能使禁用的字段变灰?的主要内容,如果未能解决你的问题,请参考以下文章

使图像窗口小部件禁用/变灰

XCode 中禁用的 UITests

Unity按钮禁用和变灰

extjs 表单元素中的 Extjs 组合框在禁用时未灰显

delphi窗体按钮灰化禁用

如何使按钮变灰?