PrimeFaces日历已禁用,但看起来未禁用



我正在使用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会有这个异常值,这似乎很奇怪。

点击这里查看元素p:calendar,p:inputText和p:selectOneMenu的图像

我能够解决这个问题:经过研究,我了解到禁用的PrimeFaces元素使用一个名为"ui-state-disabled"的样式类来分配一定比例的不透明度。 检查日历元素时,我发现从未分配过"ui-state-disabled"类。 因此,为了解决我的问题,我覆盖了样式表中的类。好吧,不是"需要"这样做,但我想控制我所有的残疾元素不透明度。

.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');

这个解决方案非常有效。

相关内容

最新更新