[英]JSF render component ajax radio button selection
此问题是JSF Primefaces单选按钮显示/隐藏/启用文本区域的后续操作,通过将inputTextArea包装在panelGroup中解决了该问题中的两个问题之一,但是我仍然需要弄清楚如何不显示on当状态为2(=否)时加载表单,但仅在切换第2列下的单选时显示。
<p:column ...>
<p:selectOneRadio ...>
...
<p:ajax update="reason" />
</p:selectOneRadio>
</p:column>
<p:column headerText="Reason For Attribute Failure">
<h:panelGroup id="reason">
<h:inputTextarea value="#{qAndA.fail_reason}" rendered="#{qAndA.toggle_value == '2'}" />
</h:panelGroup>
<h:outputText value="" rendered="#{qAndA.toggle_value == '1' or qAndA.toggle_value == '3'}" />
<h:outputText value="#{qAndA.fail_reason}" rendered="#{qAndA.toggle_value == '2' or qAndA.toggle_value == '4'}" />
</p:column>
状态码可能有缺陷:
我宁愿不必修改状态代码,而添加另一个中间代码,这样可能会起作用:
除了修改状态码,还有其他选择吗?
好吧,真正的答案是,如果您不想显示bean,那么在加载bean时不要将其值设为2。 但是你已经知道了。 您所要问的内容取决于您自己以及您想做什么。 您没有问题,这更多是设计问题。 话虽如此,这是一个:
也许您想满足2个条件:
<h:inputTextarea value="#{qAndA.fail_reason}" rendered="#{qAndA.toggle_value == '2' and bean.AnotherCondition}" />
如果您想花哨的话,可以制作一个@ViewScoped bean,以监听您在帖子中谈论的点击(不确定点击的作用)。 监听点击,并拥有一个布尔属性,您可以在注册点击之后将其设置为true(也许使用动作侦听器)。 这样,文本区域仅在单击时显示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.