可能不是JSF问题,但JSF专家可能会更多地了解这一点
我在表单上有一些字段,根据一些ajax请求启用了禁用.我想在禁用时将它们显示为灰色.
我在表单上有一些字段,根据一些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输入组件的disabled属性不会发出像class =“disabled”这样的样式类,或类似CSS声明似乎期望的样式类.它只是在生成的HTML元素上设置HTML标准禁用属性.要亲眼看到它,请在您喜欢的浏览器中打开JSF页面,右键单击并查看源代码.它看起来像
<input type="text" disabled="disabled" />
您需要使用CSS属性选择器元素[attrname].如果元素上存在带有attrname的属性,则将应用该样式.
#content input[disabled] { color: #DCDAD1; padding: 2px; margin: 0 0 0 0; background-image: none; }
(请注意我修复了背景图像声明,但它无效)