下拉菜单基于 jsp Struts 中的另一个下拉菜单

Dropdown based on another dropdown in jsp Struts

我对 Ajax 很陌生。目前我正在做一个新项目。对于该项目,其中一个要求是根据第一个下拉列表的输入填充第二个下拉列表。我正在使用 Struts 来做到这一点。我不想刷新页面,所以我需要使用 Ajax 在后端调用第二个下拉内容并填充到第二个下拉列表中。我不知道如何为此编写代码。

我的 struts 项目中应该包含什么(罐子、标签)? 我的 JSP(我正在使用 <html:select>)中应该包含哪些条目? JavaScript 中会出现什么? 什么会起作用 class(在起作用 class 我可以根据第一个下拉列表中的选择从数据库中获取列表值)?

这个问题的答案可能是论文;) 我会在这里引导你。

1]使用像 jquery 这样的 javascript 框架。它将帮助您 ajax 调用您的控制器 URL 查看 http://www.tutorialspoint.com/jquery/jquery-ajax.htm

上的简单教程

2] 对于控制器,让我们映射两个 url:

  • urapp/poplateDropdown1 控制器 return values/list 瞄准你的第一个下拉菜单
  • urapp/poplateDropdown2 到另一个控制器(或同一控制器中的方法),该控制器响应 GET 请求并接收一个参数,例如所选值的名称 SEL_VALUE。

3] onchange 事件。 即使在您的第一个下拉菜单中也有一个 onchange 或类似的最适合。 在你的事件中调用一个js函数;喜欢 <select onchange=callDropDown2Controller(this.value) > 在你的 callDropDown2Controller() 方法中:

//pseudo implementation
callDropDown2Controller(var selectedValue){

// now generate an AJAX get request using jquery with the following url 
urlToCall =  '/urapp/poplateDropdown2?SEL_VALUE=' + selectedValue

}

剩下的小伙伴你需要做一些功课和研究。

而不是 ajax,我使用 struts 只是为了实现这一点。我已将所有变量分配给表单以在提交表单时保留值。