刷新页面后如何保持Dropdownlist值相同

时间:2012-07-03 11:09:07

标签: java database jsp servlets

我有一个下拉列表

<select name="cate">
  <option value="h">India</option>
  <option value="m">USA</option>
  <option value="c">England</option>
</select>
<input type="submit" value="show">

单击“显示”按钮时,在下表中将显示所选的国家/地区详细信息。 详细信息来自数据库,每次点击页面都会刷新。

我的问题是,如果用户在下拉列表中选择英格兰并单击显示按钮,它将显示详细信息,但下拉列表将仅显示名字。 我想显示所选的值名称。

请帮帮我。

4 个答案:

答案 0 :(得分:3)

HTML CODE

<input type=hidden id ="selection" name="selection" value="">
<select name="cate">
  <option onclick="document.getElementById('selection').value='h';" value="h">India</option>
  <option onclick="document.getElementById('selection').value='m';" value="m">USA</option>
  <option onclick="document.getElementById('selection').value='c';" value="c">England</option>
</select>

JSP CODE

<%
  String selected = request.getParameter("selection");
%>

现在,当您在JSP页面上时,您可以指示用户选择了什么。 渲染元素时,将选择属性附加到所选选项

例如:    &LT;选项值=“h”已选择&gt;印度&lt; / option&gt;

<强>更新 在显示下拉列表的位置,您需要进行某种验证,您需要检查选择值以及实际打印的内容。

if(selected ==null || selected.equals('')){
    //do regular printing of the dropdown as you do now
}else{
  out.print("<select>");
  while(rs.next()){
    if(rs.getString("VALUE").equals(selected )){
        out.print("<option value=\""+rs.getString("VALUE")+"\" SELECTED >"+rs.getString("COUNTRY")+"</option>");
    }else{
        out.print("<option value=\""+rs.getString("VALUE")+"\" >"+rs.getString("COUNTRY")+"</option>");
    }
  }
  out.print("</select>");
}

PS:代码是动态编写的,可能需要一些异常处理或可能存在一些拼写错误

答案 1 :(得分:3)

<input type="hidden" name="selectedValue" value="0"/>  

将上面的内容放在select标签的下方

并在您的servlet中执行此操作

String selectedValue = `request.getParameter("selectedValue")` 

现在将selectedValue设置为servlet请求

在最终的jsp中创建一个JS函数

function selectedValue(){  

    var value =<%=request.getParameter("selectedValue")%>;  
    if(value !=null)  
        {

        document.f1.slvalue.selectedIndex=value ;          

        }    

} 

在最终jsp页面的bodyload上调用selectedValue()函数。 “slvalue”是您的选择标记的名称

答案 2 :(得分:0)

您可以将selected添加到<option>代码中,以便它是该页面的最初选定值。

<option value="h" selected>India</option>

会在页面加载时选择India选项。

您需要在JSP中添加一些逻辑,以便根据提交页面时选择的值将selected添加到正确的<option>标记中。

答案 3 :(得分:0)

对于干净的方法,您可以设置cookie。

看看这个jquery方法:jQuery cookies setting select drop down value after page refresh