【问题标题】:How to get all values from a select box(selected & not selected) in jsp如何从jsp中的选择框(已选择和未选择)中获取所有值
【发布时间】:2015-01-19 11:23:31
【问题描述】:

我有一个 HTML 选择框,在我的 jsp 中启用了多选。我正在从其他按钮动态填充选项。因此用户不会从该选择框中选择任何值。我必须将我的选择框的所有值传递给其他 jsp。

我正在使用表单操作提交浏览 jsp。这样做时,我无法获取所有选择框值。

request.getParameterValues

此选项仅提供该多选框中的选定值。我想要的是从该选择框中获取所有值,无论是否选择。

谢谢;

【问题讨论】:

  • - 为此使用 Web 存储

标签: java javascript html jsp


【解决方案1】:

那么只需遍历您的选择并获取每个选项值,请尝试以下操作:

var select = document.getElementById('mySelect');
for(var i=0; i<select.options.length;i++){
    console.log(select.options[i].value);
}

这是a DEMO Fiddle

【讨论】:

  • 不,我想从request 对象获取下一个jsp 中的所有值。我的问题够清楚吗?
  • 你为什么要那样做??您可以简单地在下一页中插入与您选择的 HTML 相同的 HTML。因为getParametergetParameterValues不会接受所有的选择选项。
  • 在下一页插入相同的 HTML 是什么意思。?我将如何插入?
  • 据我了解,您希望在下一页中拥有 select 的值,因此只需将 select html 代码复制到第二页(并给它一个 display:none; 样式)并使用 javascript获取选项值。
【解决方案2】:

为此,您可以使用Web Storage 存储值并从Web Storage 取回该值。

有关更多详细信息,您可以访问以下链接。

代码如下

  • 您可以将数据存储在第一页 (Html1.html) 中,如下代码:

localStorage.setItem("key", "value");

  • 您可以通过以下代码获取第二页 (Html2.html) 上的数据:

var valueFromFirstPage = localStorage.getItem("key");

【讨论】:

  • @sagar kaware - 为此使用网络存储
【解决方案3】:

您可以将值列表存储到HttpSession,并在用户session 需要的任何地方检索它们。

在你的jsp中,

 HttpSession session =request.getSession(false);
 session.setAttribute("ListName", yourListHere);

将值设置为session 并检索它们,

session.getAttribute("ListName");

相关:

【讨论】:

    【解决方案4】:

    在你的第一个 jsp 中,有一个隐藏字段,其中包含选择框的所有可能值,这样在下一个 jsp 中,你将拥有给定名称的值,当然隐藏字段和选择的名称会有所不同盒子。

    CSV 隐藏

    first.jsp

    <select name='chosen' multiple>
      ...
    </select>
    <input type='hidden' name='toChoose' value='1,2,3,4'/>
    

    next.jsp

    String[] chosen = request.getParameterValues("chosen");
    String[] toChoose = request.getParameter("toChoose").split(",");
    

    多重隐藏

    first.jsp

    <select name='chosen' multiple>
      ...
    </select>
    <input type='hidden' name='toChoose' value='1'/>
    <input type='hidden' name='toChoose' value='2'/>
    ....
    

    next.jsp

    String[] chosen = request.getParameterValues("chosen");
    String[] toChoose = request.getParameterValues("toChoose");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-19
      • 1970-01-01
      • 2016-11-06
      • 2011-10-09
      • 2014-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多