【问题标题】:Dropdown based on another dropdown in jsp Struts基于jsp Struts中另一个下拉菜单的下拉菜单
【发布时间】:2015-02-22 20:57:21
【问题描述】:

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

在我的 struts 项目中应该包含什么(jars、tags)? 我的 JSP 中应该有哪些条目(我使用的是<html:select>)? JavaScript 会带来什么? 动作类中会出现什么(在动作类中,我可以根据第一个下拉列表中的选择从数据库中获取列表值)?

【问题讨论】:

  • 你尝试了什么?你有没有开始写代码?
  • 我最初尝试使用 sumitting 形式。但它重置了所有以前的值。我有大约 45 个字段。保持请求中的所有值非常困难。所以我在寻找阿贾克斯。我看过几个例子。但我无法将我的代码与这些示例关联起来。

标签: javascript jquery ajax jsp struts-1


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

    • urapp/poplateDropdown1 到控制器,它在您的第一个下拉菜单中返回值/列表目标
    • urapp/popplateDropdown2 到另一个控制器(或同一控制器内的方法),该控制器响应 GET 请求并接收一个参数,例如所选值的名称 SEL_VALUE。

    3] onchange 事件。 即使在您的第一个 dropdoww 上也有一个最适合的 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
    
    }
    

    其余的伙伴你需要做一些功课和研究。

    【讨论】:

    • 非常感谢您的快速帮助。我会尽力告诉你的。
    猜你喜欢
    • 2017-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 2011-07-21
    • 2012-08-01
    相关资源
    最近更新 更多