我正在开发一个 JSF 2.0 应用程序,其中有一个带有 4 个级联下拉列表的 xhtml 页面。下拉列表是根据一些查询从数据库中填充的。效果很好!现在,我需要在完成选择后清除/重置这些下拉菜单。当我第二次来到这个页面时,下拉菜单仍然被填充。如果我从第一个下拉列表中选择,则第二个下拉列表会刷新,但不会刷新第三个和第四个。其中的数据仍然完好无损。这是我正在使用的代码。我这里只显示 3 个下拉菜单,第四个类似。任何帮助/建议表示赞赏。
<label class="control-label">Dropdown1</label>
<div>
<h:selectOneMenu id="drop1" value="#{myBean.aId}">
<f:selectItem itemLabel="Select" itemValue="" />
<f:selectItems value="#{myBean.aList}" var ="a"
itemLabel="#{a.name}"
itemValue="#{a.id}" />
<p:ajax update="drop2" listener="#{myBean.populateDrop2}" />
</h:selectOneMenu>
</div>
<label class="control-label">Dropdown2</label>
<div>
<h:selectOneMenu id="drop2" value="#{myBean.bId}">
<f:selectItem itemLabel="Select" itemValue="" />
<f:selectItems value="#{myBean.bList}" var ="b"
itemLabel="#{b.name}"
itemValue="#{b.id}" />
<p:ajax update="drop3" listener="#{myBean.populateDrop3}" />
</h:selectOneMenu>
</div>
<label class="control-label">Dropdown3</label>
<div>
<h:selectOneMenu id="drop3" value="#{myBean.cId}">
<f:selectItem itemLabel="Select" itemValue="" />
<f:selectItems value="#{myBean.cList}" var ="c"
itemLabel="#{c.name}"
itemValue="#{c.id}" />
</h:selectOneMenu>
</div>