实现二级下拉框联动在一个jsp页面
发布时间:2023-05-24 13:48:47 所属栏目:教程 来源:
导读:在一个jsp页面实现二级下拉框联动,实时读取数据库数据,这个方法非常使用,只需要修改很小的地方就可以使用。设计的文件,serch.jsp,main.js,bytetostr.js,
先讲一下main.js,这是javascript,其中注意修改j
先讲一下main.js,这是javascript,其中注意修改j
在一个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> (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐