8

我的要求是这样的。我有一个带有一些值的 selectMenu(例如:工程、医学、法律等)。假设如果我在下拉菜单中选择工程,我想要另一个动态创建的下拉菜单,其中包含与工程相关的值(例如:电子、计算机、电气等)。我如何在 JSF 2.0 中实现这一点?

4

1 回答 1

9

h:selectOneMenu当 first的选择发生变化时,您需要执行 ajax 请求。此请求将更新第二个中的可选项目h:selectOneMenu。在 ajax 请求之后,您必须h:selectOneMenu使用更新的值再次呈现第二个。

页:

<h:selectOneMenu value="#{bean.selectedSubject}">
    <f:ajax listener="#{bean.changeSubject}" render="speciality_selection" />
    <f:selectItems value="#{bean.subject}" />
</h:selectOneMenu>

<h:selectOneMenu id="speciality_selection" value="#{bean.selectedSpeciality}">
    <f:selectItems value="#{bean.subjectSpecialities}" />
</h:selectOneMenu>

托管豆:

public void changeSubject(){
    //Loads the specialities depending on the selected subject
    subjectSpecialities = loadSpecialitiesForSubject(selectedSubject);
}
于 2013-09-04T09:18:21.977 回答