jsp中select里如何获取数据库的值显示在options 里

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp中select里如何获取数据库的值显示在options 里相关的知识,希望对你有一定的参考价值。

把数据库里多个值动态放到options里,如果数据库增加或者修改了。。即时更新到options

1,写一个查询option值得方法,返回一个List集合,或者json数组字符串
2,每次跳转到该页面时候,调用上面的方法,然后开始遍历,List集合使用<c:foreach>遍历,json使用js来操作.
参考技术A

    serlet中获取了值之后跳转到页面,页面显示。

    使用Ajax做动态加载。

追问

额。。是菜鸟,求详细

参考技术B select加name值,options加value值

JSP页面获取Select值的问题

在一个JSP页面 已经有了一个2维数组,有两个Select

2维数组存放的都是地区,而每行的第一个即a[][0]存放的是省

我想让第一个select选择一个省 之后,让第二个select 显示该省的地区

这个该如何实现?

我这个页面没有使用脚本,目前就是只用《% %》 二维数组也是放到这个里面的。
(!上面的问题请无视!)

问题现在变为:
首先,脚本里的函数如何获得Select里的值?(用Select的OnChange事件)

然后用脚本如何给指定的Select生成OPTION选项? (追加即可,不用排序)

-----------------------------
另,heyongsai同学,我要的就是具体代码实现啊:

现在有两个 SELECT,一个叫菜单A,一个叫菜单B

菜单A我已做好, 我现在想: 菜单A的onChange事件,把菜单A的值传递到脚本的函数中。

然后脚本处理数据之后,生成菜单B的选项。

主要要那句生成选项的语句。最好有参数的解释:何处加菜单名,何处加选项的值,选项的名.....

我分都是摄影板块里混出来的。 我上周才开始学JAVA,JSP什么的

jsp页面获取select的值:

测试页面代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>

<%

request.setCharacterEncoding("GB18030");//加上这一句解决的  

String path = request.getContextPath();

String basePath = request.getScheme() + "://"

+ request.getServerName() + ":" + request.getServerPort()

+ path + "/";

//存放下来菜单对应值的数组

ArrayList nu = new ArrayList();

nu.add("一");

nu.add("二");

nu.add("三");

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

<title>My JSP \'testselect.jsp\' starting page</title>

</head>

<body>

通过request.getParameter("number")方法取得下拉框选取的值

<form method=post action="testselect.jsp"> <!-- 提交给自身 -->

<select name=number>

<%

for (int i = 0; i < nu.size(); i++)

out.print("<option>" + nu.get(i) + "</option>");

%>

</select>

<input type="submit" value="提交" name="submit">

</form>

</body>

<%

//取得提交的数字,并显示  

String n = (String) request.getParameter("number");

out.print("选的值是:" + n);

%>

</html>

运行界面:

参考技术A 这个问题和Java, JSP都没关系。它只和客户端的JavaScript(和JAVA毫无关系)有关。改变div的innerHTML是常见AJAX方法,但我的方法不属于AJAX,比较简单。具体代码:

<script type="text/javascript">

var aryProvince = new Array("沈阳,大连,鞍山,盘锦,辽阳",
"杭州,宁波,温州,绍兴",
"济南,青岛,淄博,泰安");
//各省份里的城市要按照lstProvince里的省份顺序排(注:城市要用逗号隔开)

function changeCity()
var selectedProvince = document.getElementById("lstProvince").value;
var divCity = document.getElementById("divCity");

divCity.innerHTML = "";
if (selectedProvince != "")
var aryCity = aryProvince[selectedProvince].split(",");
var strCityOptions = "";
for(var i=0; i<aryCity.length; i++)
strCityOptions += "<option value='0'>" + aryCity[i] + "</option>\n";

divCity.innerHTML += "<select id='lstCity'>\n" +
strCityOptions +
"</select>";


</script>
<select id="lstProvince" onchange="javascript:changeCity();">
<option value="">请选择省份</option>
<option value="0">辽宁</option>
<option value="1">浙江</option>
<option value="2">山东</option>
//value值要安01234...的顺序写,省份名称自己加(我地理不好:))
</select>

<div id="divCity">
<!-- 这个div用于城市列表的动态改变 -->
</div>
参考技术B //之前先定义好City下拉框,option项你自己随便搞
//删除下拉框City的选项数据
function clearCityOption()
var Citys = document.getElementById("City");
while(Citys.childNodes.length > 0)
Citys.removeChild(Citys.childNodes[0]);


//建立下来框的数据
function addCityOption()
var myOption = null;
for(var i = 0; i < results.length; i++)
myOption = document.createElement("OPTION");
myOption.value = results[i];//你的数组里的值
myOption.text = results2[i];//你的数组里的值
fm.City.add(myOption);//fm为你的表单

本回答被提问者采纳
参考技术C 哈哈,这个涉及到具体的代码,就不是那么一两句能说的清楚的。
在下的QQ:316112816

以上是关于jsp中select里如何获取数据库的值显示在options 里的主要内容,如果未能解决你的问题,请参考以下文章

jsp中select值如何从数据库中取出然后,传到另一个jsp页面?

jsp中怎样获取选择栏修改前和修改后的值

jsp里,怎么接受下拉框的值?

jsp页面里 怎么让文本输入框的值 根据select所选的值而动态显示出相应的值

jsp下拉框联动问题

怎么在servlet中获取单个<select>标签的值