如何从jsp中的选择框(已选择和未选择)中获取所有值

How to get all values from a select box(selected & not selected) in jsp

本文关键字:选择 获取 jsp      更新时间:2023-09-26

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

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

request.getParameterValues

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

谢谢;

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

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

这是一个演示小提琴

为此

,您可以使用Web Storage来存储值并Web Storage获取该值。

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

  • 创建本地存储名称/值对
  • 示例:对于 Web 存储

下面的代码

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

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

  • 您可以在第 2 页 (Html2.html) 上获取数据,代码如下:

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

您可以将

值列表存储到HttpSession,并在用户session所需的任何位置检索它们。

在你的 jsp 中,

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

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

session.getAttribute("ListName");

相关:

  • 使用会话将值从 JSP 存储和检索到 servlet

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

已隐藏的 CSV

第一.jsp

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

接下来.jsp

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

多个隐藏

第一.jsp

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

接下来.jsp

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