加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 教程 > 正文

实现二级下拉框联动在一个jsp页面

发布时间:2023-05-24 13:48:47 所属栏目:教程 来源:
导读:在一个jsp页面实现二级下拉框联动,实时读取数据库数据,这个方法非常使用,只需要修改很小的地方就可以使用。设计的文件,serch.jsp,main.js,bytetostr.js,

先讲一下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>
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!