在一个jsp页面实现二级下拉框联动,实时读取数据库数据,这个方法非常使用,只需要修改很小的地方就可以使用。设计的文件,serch.jsp,main.js,bytetostr.js,
先讲一下main.js,这是javascript,其中注意修改jsp页面名称。
function findObject(fName,initValue)...{
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("POST","searchmx.jsp?findObject="+fName+"&initValue="+initValue,false);//注意修改jsp页面
xmlhttp.send();
document.getElementById(fName).innerHTML=bytes2BSTR(xmlhttp.responsebody); //bytes2BSTR函数在bytetostr.js中
}
其次为bytetostr.js,这是vbscript,这个不需要修改任何内容,他的主要功能就是读取数据转换字符串用的。
Function bytes2BSTR(vIn)
dim i
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function
接下来就是serch.jsp页面,只需要修改div中的id为你想要的名字,再将一开始的包更换一下,已经sql语句改下就可以了,有不明白的可以参与讨论
<%@ page contentType="text/html; charset=gb2312" language="java" import="com.sjth.zdsygl.vo.*,com.sjth.zdsygl.biz.*,java.util.*,com.sjth.zdsygl.jdbc.*, java.sql.ResultSet"%>//导入相应的包
<%
//这部分代码用于执行查询数据库,返回字符串
if (request.getParameter("findObject")!=null)...{
if (request.getParameter("findObject").equals("hy_dm"))...{
DBConnect conn = null;
ResultSet rs = null;
try...{
out.print("<select name='hy_dm' onchange="javascript:findObject('hymx_dm',this.value)">");
String sql = "select * from dm_hy group by left(hy_dm,7)";
conn = new DBConnect();
conn.setPstmt(sql);
rs = conn.executeQuery(sql);
while(rs.next())...{
out.print("<option value='"+rs.getString("hy_dm")+"'>"+rs.getString("hy_mc")+"</option>");
}
out.print("</select>");
}
catch (Exception e)...{
}
finally...{
try...{
if (rs != null)
rs.close();
if (conn != null)
conn.close();
}
catch (Exception e)...{
e.printStackTrace();
}
}
}
if (request.getParameter("findObject").equals("hymx_dm"))...{
DBConnect conn = null;
ResultSet rs = null;
try...{
out.print("<select name='hymx_dm' >");
String sql = null;
if (request.getParameter("initValue").equals(""))...{
sql = "select * from dm_hy";
}
else...{
sql = "select * from dm_hy where hy_dm like '"+request.getParameter("initValue")+"%'";
}
conn = new DBConnect();
conn.setPstmt(sql);
rs = conn.executeQuery(sql);
while(rs.next())...{
out.print("<option value='"+rs.getString("hy_dm")+"'>"+rs.getString("hy_mc")+"</option>");
}
out.print("</select>");
}
catch (Exception e)...{
}
finally...{
try...{
if (rs != null)
rs.close();
if (conn != null)
conn.close();
}
catch (Exception e)...{
e.printStackTrace();
}
}
}
return;
}
%>
<html>
<head>
<link href="CSS/table.css" type="text/css" rel="stylesheet">
<script language=vbscript src="css/bytetostr.js"></script>
<script language=javascript src="css/main.js"></script>//导入两个js文件
</head>
<body>
<div>所属行业:</div>
<div id="hy_dm"></div> //用来显示返回的字符串
<div >所属明细行业:</div>
<div id="hymx_dm"></div>//用来显示返回的字符串
</body>
</html>
<script language="javascript">
findObject("hy_dm","");
findObject("hymx_dm","");//这两条是页面执行是调用
</script>
欢迎大家讨论
分享到:
相关推荐
实现jsp页面二级下拉框联动,实时读取数据库数据实现jsp页面二级下拉框联动,实时读取数据库数据
在一个jsp页面实现二级下拉框联动,实时读取数据库数据.pdf
本文实例讲述了jsp从数据库获取数据填充下拉框实现二级联动菜单的方法。分享给大家供大家参考,具体如下: 项目告一段落,现在将遇到的比较实用的东西记录下来,写了多遍了,谨记于此,以备查看! 1、首先在数据库中...
2级下拉框联动含数据库,很经典,和适合初学者学习。
jsp从数据库获取数据填充下拉框实现二级联动菜单的方法.docx
javascript实现下拉框二级联动 思路清晰 简明易懂 效果惊人
javascript实现二级联动下拉框,多多支持:)
AJAX二级下拉框联动 - justshare - JavaEye技术网站
在一个jsp(SUN企业级应用的首选)页面实现二级下拉框联动,实时读取数据库数据,这个方法非常使用,只需要修改很小的地方就可以使用。设计的文件,serch.jsp(SUN企业级应用的首选),main.js,bytetostr.js,
asp二级联动下拉框,三级联动下拉框,asp二级联动下拉框,三级联动下拉框, 可能传错了 sorry
最近小弟做了Extjs实现实现下拉框联动的效果,参考了好久才学会,闲下来发一个简单的例子。。呵呵
ajax+ASP实现无限级Select下拉框联动,形成一个实用的多级菜单,读取Access数据库,本实例是一个6级的菜单,根据你的需要,你还可以进行扩展。它使用AJAX技术控制数据使用时才加载,提高程序效率,可以参考一下。
JSP页面,采用ajax和json技术,实现了多个下拉框之间的二级联动,也就是选择第一个下拉框的类容之后,后面的下拉框的类容动态改变
ajax 二级下拉框ajax 实现二级下拉框,地址联动,xmlHttp,serverlet,java,ajax 实现二级下拉框,地址联动,xmlHttp,serverlet,java,
省市下拉框二级联动完成版(调试通过),本人花了几小时整理的,觉得是完整版。并且立即可以使用!
json实现省市县三级联动下拉框,从数据库读取数据到页面显示!
JS本地实现,无需网络就能使用,数据为国家省市区6位标准编码,二级联动为省、市的下拉框选择,三级联动为省、市、区的下拉框选择,效果请打开压缩包中的html页面查看。
supplyInfo_update.jsp稍微难了点,不仅仅是一级触发实现二级联动,还有它是将数据库中相应的省份城市提取出来,将原有增加的省份城市提取给用户,供用户修改;对于JSP里的html:select及其html:option几乎只用直接拷贝,没...
jsp实现连动下拉框