JSP页面内要做SELECT的联动,有三个SELECT,要求从数据库中读取信息到SELECT的OPTION内

主要就是想知道怎么将数据库中的信息读入到SELECT中,不能在JSP页面中写JAVA代码,最好用SSH框架的,不是的也可以,只想知道个方法,最好能附代码,高分求助,好的加分
主要是我不太懂ajax啊,能说的详细点不,最好能给个小例子,可以用的话再加50分。不能在JSP页面加<%%>代码的

我期末写了一个作业(2级联动),这个地方我们还没学到,我就是按自己想法写了一个,反正肯定是可以用的,你看一下吧
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="com.zk.voo.Property_type"%>

<html>
<head>
<%
String []type=(String [])request.getAttribute("big_type");
String [][]model=(String [][])request.getAttribute("little_type");
%>
<script type="text/javascript">
function select1(){

var type=document.getElementById("type");

var array=new Array(<%=type.length%>);

<%
for(int i=0;i<type.length;i++){
%>
array[<%=i%>]="<%=type[i]%>";
<%
}
%>

for(var i=0;i<array.length;i++){
var op =new Option(array[i],array[i]);
type.options.add(op);
}

var year=document.getElementById("year");
for(var i=1980;i<=2020;i++){
var op=new Option(i,i);
year.options.add(op);
}

var month=document.getElementById("month");
for(var i=1;i<13;i++){
var op=new Option(i,i);
month.options.add(op);
}

var date=document.getElementById("date");
for(var i=1;i<32;i++){
var op=new Option(i,i);
date.options.add(op);
}
}
function select2(x){

var index=x-1;
var little_type=document.getElementById("little_type");
little_type.options.length=0;
var array2=new Array(<%=model.length%>);

for(var i=0;i<array2.length;i++){
<%
for(int i=0;i<model.length;i++){
%>
array2[<%=i%>]=new Array(<%=model[i].length%>);

<%
for(int j=0;j<model[i].length;j++){
%>
array2[<%=i%>][<%=j%>]="<%=model[i][j]%>";
<%

}
}
%>
}
var top=new Option("---请选择---","");
little_type.options.add(top);
for(var i=0;i<array2[index].length;i++){
var op=new Option(array2[index][i],array2[index][i]);
little_type.options.add(op);

}

}
</script>

</head>

<body onload="select1()">
<center>
<h1>资产管理添加页面</h1>
<form name="frm" action="GeneralServlet?act=insertdo" method="post" onsubmit="return check()">
名称:<input type="text" name="name" id="nanme"><br><br>

类型:<select name="type" id="type" onchange="select2(document.frm.type.selectedIndex)" >
<option>-->请选择<--</option>
</select>
<br><br>

分类:<select name="little_type" id="little_type">
<option>-->请选择<--</option>
</select>
<br><br>
型号:<input type="text" name="model" id="model"><br><br>
价值:<input type="text" name="value" id="value"><br><br>
购买日期:<select name="year" id="year">
<option>年</option>
</select>-
<select name="month" id="month">
<option>月</option>
</select>-
<select name="date" id="date">
<option>日</option>
</select>
<br><br>
状态:<select name="state" id="state">
<option value="正常">正常</option>
<option value="维修">维修</option>
<option value="报废">报废</option>
</select>
<br><br>
使用者:<input type="text" name="user" id="user" ><br><br>
备注:<input type="text" name="remarks" id="remarks" value="可以不写"><br><br>
<input type="submit" value="添加">
</form>
</center>
</body>
</html>
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-20
使用jquery
1 引入jquery的js文件在页面
<script type="text/javascript" src="<%=request.getContextPath() %>/jxc/js/jquery-1.4.2.min.js"></script>
2 下拉select
<select name="st_tid" id="t_id" onchange="goodsajax(this.options[this.selectedIndex].value);">
<option value="">请选择</option>
<c:forEach var="obj" items="${tlst}">
<option value="${obj.t_id }">${obj.t_name }</option>
</c:forEach>
</select>
<select name="st_gid" id="st_gid">
<option value="">请选择</option>
</select>
3 写js
function goodsajax(tid){
if(tid==""){return ;}
$('#st_gid').load("<%=request.getContextPath()%>/goods.do?methods=gajax&t_id="+tid+"&mm="+new Date().getTime());
}

4 js 提交action
Map map = new HashMap();
if(request.getParameter("t_id") == null || request.getParameter("t_id").equals("")){
return null;
}
map.put("t_id", request.getParameter("t_id"));
GoodsDao gDao = new GoodsDao();
request.setAttribute("glst", gDao.quertList(map));
return new ActionForward("/jxc/goods_ajax.jsp");

5
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix="c"%>
<option value="">请选择</option>
<c:forEach items="${glst}" var="obj">
<option value="${obj.g_id}">${obj.g_name}</option>
</c:forEach>
第2个回答  推荐于2018-04-04
这个简单,而且是ssh,更方便,在action里面,查询出这3个select需要的list,在页面中用小脚本<%%>来接收啊,就是request.getAttribute(),然后再在select上面做循环,就这么简单的!

那也没关系啊,只要你是可以把值循环取出来,标签都可以的啊!本回答被网友采纳
第3个回答  2011-06-14
在第一个select加js方法,用ajax调后台action返回给第二个。依此类推

JSP。从数据库读取的数据给Select让select默认option为读得数据,怎么实...
<\/option> <\/s:iterator> <\/select> 如果只有一个要默认选中就用下面这个:<select> <option <s:if test="quantity==3">selected<\/s:if> value="${quantity}">合格<option> <option <s:if test="quantity==2">selected<\/s:if> value="${quantity}">不合格<option> <option <s:if t...

JSP 实现两个select下拉框的数据联动,要求根据第一个下拉式选择的内容联...
首先进入页面的时候,第一个select的内容是从数据库查询出来的,这个很简单就能实现。然后在这个select控件上加上onchange事件,onchange事件中获取当选select选中的value 提交到后台,首先将页面中的内容存起来,比如刚才的那个内容使用setAttribute,存起来,然后在获取一次第一个select控件的信息,然后根据页面被...

jsp中如何在数据库中取出数据并放在下拉列表中
可以用缓存,或在访问这个页面以前准备好下拉列表的数据(在Action中完成),一般都只需要id和name就可以了。取出来后,放入requestScope中,用List和Set都可以,这就根据自己的需求了。到了jsp页面,一般都是这样的:<select name="xxx"> <option>这里是select的默认值<\/option> <c:forEach items="$...

jsp页面分为上、中(左右)、下三部分。中间的左边显示的是从数据库中查 ...
你这个写法的逻辑本身不合理的。你的页面展示的时候就需要把左边的类目(通过在后台查询数据库)展示出来,这个应该不需要你再用 JS 去调用click事件。很适合使用ajax方式实现。<body onload = "selectLeimu()"> function selectLeimu(){ .ajax({ url : "<%=path%>\/LeftLeimu",type : 'POST',...

JAVA项目\/JSP页面 中 怎样实现模糊查询
like关键字和 % 符号做查询 比如查询所有姓 王 的人.jsp文本框输入王 点击查询按钮 把文本框的值传入后台 在后台拼接sql语句 select * from user where name like '王%';'王%' 代表 以'王'字开头 后面没有、一个或多个字符 '%王%' 标识 只要字符中 含有 王 字就可以查询 ...

jsp中如何把数据库中查询出来的数据输出到jsp页面。
2、插入一个数据 insert into User values(1,"Martin","12345","zjut")3、建立一个Dynamic Web Project,目录如下:4、showinfo.jsp,这里需要注意的是导入类:import="com.entity.User"<%@ page language="java" contentType="text\/html; charset=UTF-8"pageEncoding="UTF-8" import="com....

JSP中怎样将数据库中的数据显示在网页的下拉菜单中
这是我自己以前做的,使用javaBean <jsp:useBean id="userBean" scope="page" class="selfteachweb.conn"\/> 把数据库里的数据在跳转下拉菜单中显示 <form name="teachcourse"> <select name="courselist" onChange="MM_jumpMenu('self',this,0)"> < String sql="select CouName from Courses,...

如何从数据库中提取数据,在jsp页面显示
在数据库提取部分数据,在JSP上显示的做法如下:思路:1、创建db连接 2、创建statement 3、执行查询 4、遍历结果并展示 完整代码如下:<span style="font-size:12px;"><span style="font-size:14px;"><%@ page language="java" import="java.sql.*,java.io.*,java.util.*"%> <%@ page ...

帮帮忙 jsp如何把数据库里的数据生成excel文档
\/\/写入数据并关闭文件 book.write(); book.close(); }catch(Exception e) { System.out.println(e); } } } 编译执行后,会在当前位置产生一个Excel文件。 二、读取文件 以刚才我们创建的Excel文件为例,做一个简单的读取操作,程序代码如下: \/\/读取Excel的类 import java.io.*; import jxl.*; public ...

jsp做级联下拉菜单
(这里有两个下拉菜单. 1:所有省 2:省下的区县市)操作: 先把所有的省级单位查出来 显示到第一个下拉菜单中 在第一个下来菜单的onchange事件中 通过选择省份的ID 去查询(通过ajax查询并且返回该ID下的区县)把返回的区县在页面中遍历 显示到第二个下拉菜单中 关键 : 会使用ajax ...

相似回答