我正在使用PrimeFaces6.1 widgetVar来禁用各种页面元素。我在页面上有几种不同类型的元素。当它们全部被禁用时,p:calendar是唯一看不到禁用的元素。
<p:calendar id="revision-date-from" value="#{search.revisionDateFrom}" pattern="dd/MM/yyyy" mask="true" />---<p:calendar id="revision-date-to" value="#{search.revisionDateTo}" pattern="dd/MM/yyyy" mask="true" />
我需要为Internet Explorer 11开发。
有没有其他人有这个问题?或者可能知道如何解决这个问题?我想,我总是可以使用造型来改变bgcolor。但PrimeFaces有这个异常值似乎有些奇怪。
Click here to see the image of elements p:calendar, p:inputText and p:selectOneMenu together
答案 0 :(得分:1)
我能够解决这个问题:经过研究后,我了解到禁用的PrimeFaces元素使用称为“ui-state-disabled”的样式类来指定不透明度的百分比。检查日历元素我发现从未分配过'ui-state-disabled'类。所以,为了解决我的问题,我在样式表中覆盖了类。好吧,没有'需要'这样做,但我想控制我所有禁用的元素Opacity。
.ui-state-disabled {
opacity: 0.45;
filter: Alpha(Opacity=45);
cursor: default !important;
}
使用我的widgetVar禁用我需要添加类:
PF('widget_date').disable();
PF('widget_date').getJQ().addClass('ui-state-disabled');
然后启用和删除类:
PF('widget_date').enable();
PF('widget_date').getJQ().removeClass('ui-state-disabled');
此解决方案运行良好。