ASP.NET:多级下拉菜单的级连显示难题
发布时间:2023-07-14 13:52:37 所属栏目:教程 来源:
导读:在这里,我为了实现公司-部门级连显示问题,我编写了ling dao_add_competence_dialogquery.jsp ,web.xml,SelectCropDepartServlet.java 类。
其中注意的是ling dao_add_competence_dialogquery中的.jspChange_
其中注意的是ling dao_add_competence_dialogquery中的.jspChange_
|
在这里,我为了实现公司-部门级连显示问题,我编写了ling dao_add_competence_dialogquery.jsp ,web.xml,SelectCropDepartServlet.java 类。 其中注意的是ling dao_add_competence_dialogquery中的.jspChange_Select() javascript函数中的/selectCropDepart是在web.xml中定义的servlet类。我们在实现应用当中需要修改的用红字标出。 其中ling dao_add_competence_dialogquery.jsp代码如下: <%@ page contentType="text/html; charset=gbk" language="java" import="java.sql.*" errorPage="" %> <%@ page import="pub.*" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>添加ling dao权限</title> <link href="../css/putong.css" type="text/css" rel="stylesheet"> <base target="_self"> <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> <META HTTP-EQUIV="Expires" CONTENT="0"> </head> <script language="javascript"> var req; window.onload=function(){ } function Change_Select(){ var zhi = document.getElementById('Corp').value; var url = "../selectCropDepart?id=" + escape(zhi); //alert(url); if (window.XMLHttpRequest) { req = new XMLHttpRequest(); }else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); } if(req){ req.open("GET", url, true); req.onreadystatechange = callback; req.send(null); } } function callback() { if (req.readyState == 4) { if (req.status == 200) { parseMessage(); // update the HTML DOM based on whether or not message is valid }else{ alert ("Not able to retrieve description" +req.status+req.statusText); } } } function parseMessage() { var xmlDoc = req.responseXML.documentElement; var xSel = xmlDoc.getElementsByTagName('select'); var select_root = document.getElementById('Depart'); select_root.options.length=0; for(var i=0;i<xSel.length;i++) { var xValue = xSel[i].childNodes[0].firstChild.nodeValue; var xText = xSel[i].childNodes[1].firstChild.nodeValue; var option = new Option(xText,xValue); try { select_root.add(option); } catch(e){ } } } function AddLeaderCompetence(){ var key=document.all.HiddenKey.value; document.from1.action="ling dao_ctl.jsp?Oper=addCompetence&Key="+key; document.from1.submit(); } </script> <body> <% String strUserID=request.getParameter("Key"); session.setAttribute("EmployUserID",strUserID); %> <form name="from1" action="ling dao_ctl.jsp" method="post"> <table cellSpacing="0" cellPadding="0" width="100%" bgColor="#bfcae6" border="0" background="../images/subtitle.gif"> <tr> <td width="99%" height="26"><FONT face="宋体"> <DIV align="left"><FONT face="宋体" color="#ffffff"> 当前位置:系统管理>>ling dao设置>>添加ling dao权限 </FONT> </DIV> </FONT> </td> </tr> </table> <input type="hidden" name="HiddenKey" value="<%=strUserID%>" > <table width="100%" border="0" cellpadding="2" cellspacing="1" bgcolor="#AABDE0"> <tr bgcolor="#FFFFFF"> <td align="right">公司:</td> <td> <SELECT name="Corp" id="Corp" onChange="Change_Select()" > <OPTION value="all" selected>所有公司</OPTION></SELECT></td> </tr> <tr bgcolor="#FFFFFF"> <td align="right">部门:</td> <td><SELECT name="Depart" id="Depart"> <OPTION value="all" selected>所有部门</OPTION></SELECT></td> </tr> <tr bgcolor="#FFFFFF"> <td colspan="2" align="center"><input type="button" onClick="AddLeaderCompetence();" class="button" style="width:80px" value="保存"> <input type="button" class="button" value="关闭" onClick="window.close();" style="width:80px"> </td> </tr> </table> </form> </body> <% Conn conn=new Conn(); String m1Script=""; //String m2Script=""; m1Script=PubClass.BindAllCorpList("document.all.Corp"); //m2Script=PubClass.BindAllDepartList("document.all.Depart",""+session.getAttribute("cropid")); //sPositionList=conn.bindDropListSel("document.all.PositionName","select * from sys08_Position","PositionName","PositionID"); %> <%= m1Script%> </html> Web.xml代码如下: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>selectCropDepart</servlet-name> <servlet-class>pub.SelectCropDepartServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>selectCropDepart</servlet-name> <url-pattern>/selectCropDepart</url-pattern> </servlet-mapping> </web-app> SelectCropDepartServlet.java Servlet类代码如下 /** * 从sys04_Machine表中取数据进行二级下拉菜单(公司,部门)及关联的servlet类 * @author 邓浩 */ public class SelectCropDepartServlet extends HttpServlet { public SelectCropDepartServlet() { super(); } public void destroy() { super.destroy(); } /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/xml"); response.setCharacterEncoding("UTF-8"); response.setHeader("Cache-Control", "no-cache"); String targetId = request.getParameter("id").toString(); String xml_start ="<selects>"; String xml_end = "</selects>"; String xml = ""; try{ Conn conn=new Conn(); DataTable dt=new DataTable(); String Sql="select * from sys04_Machine where cropid="+targetId; ////System.out.println("Sql:"+Sql); xml+= "<select><value>all</value><text>所有部门</text></select>" ; int i=0; if (conn.querySql(Sql,dt)){ while (i<dt.getRowCount()){ xml+= "<select><value>"+dt.getItemForName(i,"MachID").toString()+"</value><text>"+dt.getItemForName(i,"MachName").toString()+"</text></select>"; i=i+1; } } String last_xml = xml_start + xml + xml_end; //System.out.println("last_xml:"+last_xml); // last_xml = new String(last_xml.getBytes("UTF-8"), "GB2312"); response.getWriter().write(last_xml); }// try catch (Exception e){ System.out.print(e.getMessage()); } } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ doGet(request,response); } public void init() throws ServletException { } } (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
