【问题标题】:Set checkbox as read-only using Primefaces使用 Primefaces 将复选框设置为只读
【发布时间】:2013-01-29 15:03:37
【问题描述】:

我目前正在使用<p:selectBooleanCheckbox />,我想知道是否有办法让它只读。

基本上,我希望您能够打开一个复选框子列表,并且原始复选框仅在选中任何其他复选框时才会显示复选标记。

关于如何做到这一点的任何想法?

【问题讨论】:

  • 尝试将disabled 属性设置为true。单击下面的文本框之一后,使用<p:ajax event="change" listener="#{bean.checkListener}" update="generalCheckbox"> 调用服务器方法。在这里,您检查复选框的状态,并根据此设置您的常规复选框值。
  • 我怀疑问题标题是否与问题的实质相符。我认为您在标题中询问的内容仅包含disable 属性,但在内容中您将更进一步。

标签: jsf primefaces


【解决方案1】:
<p:selectBooleanCheckbox value="#{formBean.value1}" disabled="true"/>

这将禁用该元素。如果需要,我曾经通过 primeface 蒙皮更改 CSS。

将属性与管理 bean 中的一些布尔变量绑定。在更改布尔变量的事件[根据要求]完成时刷新/重新加载组件。

【讨论】:

  • 我认为 disabled 的问题在于它的外观。
【解决方案2】:

设置

disabled="true"

解决了这个复选框不能再编辑的问题,但是它很苍白,而且它的外观和感觉不符合页面样式。 我使用以下技巧使它像一个普通(未禁用)组件:

$(document).ready(function(){
  $('.ui-chkbox div').removeClass('ui-state-disabled');
});

这会从页面上的所有 primefaces 复选框中删除“禁用”样式。您可以轻松地将其调整为您需要的组件。

【讨论】:

    【解决方案3】:

    这个对我有用,而且外观还可以:

    <p:selectBooleanCheckbox value="#{beanc.value}" onchange="return false;"/>
    

    【讨论】:

      猜你喜欢
      • 2010-09-14
      • 2013-09-24
      • 2017-03-01
      • 2021-11-19
      • 1970-01-01
      • 1970-01-01
      • 2012-05-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多