<p:fieldset styleClass="weightTextBox">
<p:selectOneMenu id="detectionSelector" value="#{ngs.detectionMode}">
<f:selectItem itemValue="SYBR" itemLabel="SYBR" />
<f:selectItem itemValue="NONE" itemLabel="None" />
<f:selectItem itemValue="SYBR_GREEN" itemLabel="Sequencing" />
<f:selectItem itemValue="PROBE" itemLabel="Probe" />
<p:ajax event="change" update="@form" render="@form"/>
</p:selectOneMenu>
</p:fieldset>我确实有多个选择项,而三个值NONE、SYBR、SYBR_GREEN有相同的用法。我想要做的是
<ui:fragment rendered="#{ngs.detectionMode ne 'SYBR_GREEN' or ngs.detectionMode ne 'NONE' or ngs.detectionMode ne 'SYBR'}">虽然这种方式是有效的,但我需要它的所有3个选项。
<ui:fragment rendered="#{ngs.detectionMode ne 'SYBR_GREEN'}">我尝试了多种方法,但都不起作用。
<ui:fragment rendered="#{(ngs.detectionMode ne 'SYBR_GREEN') or (ngs.detectionMode ne 'NONE') or (ngs.detectionMode ne 'SYBR')}">
<ui:fragment rendered="#{ngs.detectionMode ne 'SYBR_GREEN' or 'NONE' or 'SYBR'}">发布于 2018-05-04 23:42:04
我猜想您正在寻找的条件是,当选择了'PROBE'选项时,ui:fragment将呈现为。
在这种情况下,您需要定义exclusive条件( and )和非包含条件(OR),就像在失败的尝试中一样。
所以,举个例子,而不是
<ui:fragment rendered="#{(ngs.detectionMode ne 'SYBR_GREEN') or (ngs.detectionMode ne 'NONE') or (ngs.detectionMode ne 'SYBR')}">你应该使用
<ui:fragment rendered="#{(ngs.detectionMode ne 'SYBR_GREEN') and (ngs.detectionMode ne 'NONE') and (ngs.detectionMode ne 'SYBR')}">还要注意,p:ajax组件没有render属性。
https://stackoverflow.com/questions/50109143
复制相似问题