我目前正在使用<p:selectBooleanCheckbox />
,我想知道是否有办法使其只读。
基本上,我希望您能够打开复选框的子列表,并且原始复选框仅在选中任何其他复选框时才会显示复选标记。
关于如何做到这一点的任何想法?
<p:selectBooleanCheckbox value="#{formBean.value1}" disabled="true"/>
这将禁用该元素。如果需要,我曾经通过素面皮肤来更改 CSS。
将属性与管理 Bean 中的某个布尔变量绑定。在更改布尔变量的事件完成后刷新/重新加载组件 [根据要求]。
设置
disabled="true"
解决了以下问题:此复选框无法再编辑,但它非常苍白,并且外观和感觉不符合页面样式。我使用以下技巧使它像普通(未禁用)组件一样:
$(document).ready(function(){
$('.ui-chkbox div').removeClass('ui-state-disabled');
});
这将从页面上的所有主要面孔复选框中删除"禁用"样式。您可以轻松地仅根据所需的组件进行调整。
对我有用,它的外观和感觉还可以:
<p:selectBooleanCheckbox value="#{beanc.value}" onchange="return false;"/>
默认情况下这是不可能的。您可以禁用该复选框并使用 css,如下所示:
<p:selectBooleanCheckbox value="#{bean.value}" disabled="true" styleClass="readonly" />
和下面的css,这样框就不会显示为禁用。
.ui-selectbooleancheckbox.readonly .ui-chkbox-box.ui-state-disabled
{
opacity: 1;
}