更改单选按钮时有条件地渲染其他组件
Conditionally render other component when radiobutton is changed
我正在尝试在选中单选按钮时显示菜单。为此,我正在使用 rendered 属性。
型号:
private int type; // +getter+setter
查看:
<h:selectOneRadio value="#{bean.type}">
<f:selectItem itemLabel="A" itemValue="1"/>
<f:selectItem itemLabel="B" itemValue="2"/>
</h:selectOneRadio>
<h:form id="formMention" rendered="#{bean.type == 1}">
<h:selectOneMenu ...>
<f:selectItems ... />
</h:selectOneMenu>
</h:form>
当我检查 A 时没有任何显示。我该如何实现?
通常情况下,您会为此选择 ajax,但由于您显然使用的是死掉的 JSF 1.x,它缺乏 ajax 的奇思妙想,因此您不得不求助于 "plain" HTML/JS 只要你不想引入一个 ajax 有能力的组件库。其中一种方法是单击单选按钮直接提交表单。
<h:form>
<h:selectOneRadio value="#{bean.type}" onclick="this.form.submit()">
<f:selectItem itemLabel="A" itemValue="1"/>
<f:selectItem itemLabel="B" itemValue="2"/>
</h:selectOneRadio>
</h:form>
<h:form id="formMention">
<h:selectOneMenu ... rendered="#{bean.type == 1}">
<f:selectItems ... />
</h:selectOneMenu>
</h:form>
我正在尝试在选中单选按钮时显示菜单。为此,我正在使用 rendered 属性。
型号:
private int type; // +getter+setter
查看:
<h:selectOneRadio value="#{bean.type}">
<f:selectItem itemLabel="A" itemValue="1"/>
<f:selectItem itemLabel="B" itemValue="2"/>
</h:selectOneRadio>
<h:form id="formMention" rendered="#{bean.type == 1}">
<h:selectOneMenu ...>
<f:selectItems ... />
</h:selectOneMenu>
</h:form>
当我检查 A 时没有任何显示。我该如何实现?
通常情况下,您会为此选择 ajax,但由于您显然使用的是死掉的 JSF 1.x,它缺乏 ajax 的奇思妙想,因此您不得不求助于 "plain" HTML/JS 只要你不想引入一个 ajax 有能力的组件库。其中一种方法是单击单选按钮直接提交表单。
<h:form>
<h:selectOneRadio value="#{bean.type}" onclick="this.form.submit()">
<f:selectItem itemLabel="A" itemValue="1"/>
<f:selectItem itemLabel="B" itemValue="2"/>
</h:selectOneRadio>
</h:form>
<h:form id="formMention">
<h:selectOneMenu ... rendered="#{bean.type == 1}">
<f:selectItems ... />
</h:selectOneMenu>
</h:form>