我正在Netbeans上使用JSF Primeface创建一个web应用程序。我尝试做的是动态更新两个selectOneListBox项。更具体地说,我希望根据我在第一个列表框中单击的值来更新第二个列表框中的值。
例如:我有两个数据库,活动和子活动,我想在不同的列表框中显示它们。活动可以有“音乐、体育、户外、室内等”。我想在第一个列表框中显示这些值。当我单击其中一个时,我希望获得与特定活动相关联的子活动。因此,在子类别数据库中,有一个子活动列表,每个子活动都具有与活动数据库中的一个成员相关联的唯一标识符。当我单击activity列表框中的条目时,我希望提取特定的子活动并将其显示在第二个列表框中。
我能够从活动数据库中获得值,并将它们显示在第一个列表框中:
<p:selectOneListbox value="#{activityController.itemsAvailableSelectOne}">
<f:selectItems value="#{activityController.items}" var="item"
itemValue="#{item}" itemLabel="#{item.activityName}"/>
</p:selectOneListbox>
我该如何实现第二个列表框呢?
发布于 2014-10-17 16:47:12
你可以试试这个:
你的第一个selectOneListbox:
<h:form>
<p:selectOneListbox value="#{activityController.itemsAvailableSelectOne}" id="listBox1">
<f:selectItems value="#{activityController.items}" var="item"
itemValue="#{item}" itemLabel="#{item.activityName}"/>
<p:ajax listener="#{activityController.itemChange}"
update="listBox2" />
</p:selectOneListbox>
第二:
<p:selectOneListbox value="#{activityController.subItem}" id="listBox2">
<f:selectItems value="#{activityController.subItems}" var="item"
itemValue="#{item}" itemLabel="#{item.activityName}"/>
</p:selectOneListbox>
支持Bean:
public void itemChange() {
// load stuff based on selected item
}
https://stackoverflow.com/questions/26428182
复制相似问题