【发布时间】:2012-09-04 05:02:31
【问题描述】:
我需要使用 p:selectonemenu 并将其禁用,即它应该在发布期间提交,但它应该是只读的。请注意,我不想使用 disabled 属性,因为这会阻止发布。
我在这个论坛上读到,这可以通过使用隐藏字段来实现,但是我不明白如何实现。如果有人可以在这方面为我提供一些帮助,我将不胜感激。
<p:inputText id="cpr" value="#{customerbean.customer.cpr}">
<p:ajax event="change" listener="#{customerbean.fetchCustomerDatafromCBS}" update="nationality address passportno name nationality dob address mailingaddress gender mobileno landlineno otherno email maritalstatus nochildren" immediate="true" >
<f:param name="cprNumber" value="#{customerbean.customer.cpr}"/>
</p:ajax>
<f:validator validatorId="cprValidator" />
</p:inputText>
<p:selectOneMenu id="gender" value="#{customerbean.customer.gender}" required="!#{customerbean.disabled}" requiredMessage="#{text['validation.error.required.gender']}" disabled="#{customerbean.disabled}">
<f:selectItem itemLabel="Select One" itemValue="" noSelectionOption="true" />
<f:selectItem itemLabel="Male" itemValue="Male" />
<f:selectItem itemLabel="Female" itemValue="Female" />
</p:selectOneMenu>
<p:inputText type="hidden" value="#{customerbean.customer.gender}" />
【问题讨论】:
-
将 disabled 属性设置为 true
-
对不起,我不应该使用“禁用”这个词,因为它可以解释为指的是禁用属性。我的意思是,我希望它处于上文所述的只读状态。使用 disabled 属性意味着该值不会被发布。
-
这很有趣。组件将如何表现?还会发吗?另外,pe:blockui 和 p:blockui 有什么区别,我应该使用哪一个?
-
我不明白如何让它工作?好像是一些与Ajax提交相关的功能?我需要在 ajax 提交后无限期禁用此字段。
-
我想在我在字段中输入值、运行 Ajax 查询、获取信息并填充屏幕上的所有字段(包括 selectOneMenu 字段)后阻止它。除了不支持只读的 selectOneMenu 之外,我没有将所有其他字段设为只读的问题。
标签: jsf primefaces