【问题标题】:Adding dynamic drop down components in JSF在 JSF 中添加动态下拉组件
【发布时间】:2013-09-07 17:07:54
【问题描述】:

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

【问题讨论】:

  • 查看我们的[selectonemenu] wiki 页面以获取更多关于如何获取这些组件的提示:stackoverflow.com/tags/selectonemenu/info(您可以通过将我放置在您的问题下方的[selectonemenu] 标签悬停到黑色来访问它框出现,然后单击 info 链接)。

标签: jsf jsf-2 selectonemenu


【解决方案1】:

当第一次h:selectOneMenu 的选择发生变化时,您需要执行一个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>

托管 bean:

public void changeSubject(){
    //Loads the specialities depending on the selected subject
    subjectSpecialities = loadSpecialitiesForSubject(selectedSubject);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-27
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 2015-03-30
    相关资源
    最近更新 更多