`
ludaojuan21
  • 浏览: 222161 次
  • 性别: Icon_minigender_1
  • 来自: 回龙观
社区版块
存档分类
最新评论

用AJAX动态构造下拉框列表值

阅读更多
一.servlet构造出的AJAX返回的XML文件:
public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
	    response.setContentType("text/xml; charset=UTF-8");
	    response.setHeader("Cache-Control", "no-cache");
	    PrintWriter out = response.getWriter();
		
	    String factoryid = request.getParameter("factoryid");
	    String specialid = request.getParameter("specialid");

	        ConnDB db = new ConnDB();
	        Connection con = db.getConn(this);
	        //从ORACLE取测点名称值及类型
	        String sql = "select menuname,logid from sys_runmenu where menutype = 'D'" ;
	        if(!factoryid.equals("all")){
	        	sql = sql+" and to_number(factory) = '"+factoryid+"'";
	        }
	        if(!specialid.equals("all")){
	        	sql = sql+" and specialty = '"+specialid+"'";
	        }
	        try {
	          Statement stmt = con.createStatement();
	          ResultSet rs = stmt.executeQuery(sql);
	          logger.info(sql);
	          if(rs !=null){
	          out.println("<logs>");
	          logger.info("<logs>");
	          while(rs.next()){
	          out.println("<logid>"+rs.getString("logid")+"</logid>");
	          logger.info("<logid>"+rs.getString("logid")+"</logid>");
	          out.println("<logname>"+rs.getString("menuname")+"</logname>");
	          logger.info("<logname>"+rs.getString("menuname")+"</logname>");
	          }
	          out.println("</logs>");
	          logger.info("</logs>");
	          }
	          
	        }catch(Exception e){
	          e.getMessage();
	        }
	        finally{
	          db.close();
	        }
	}

二.页面上进行解析:
// 处理返回信息的函数
function processRequest() {
    if (http_request.readyState == 4) { // 判断对象状态
    if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
    var len = http_request.responseXML.getElementsByTagName("logid").length;
                          if(len>0){
                            deloption();
                            for(var i=0;i<len;i++){
                              var logname=http_request.responseXML.getElementsByTagName("logname")[i].firstChild.data;
                              var logid = http_request.responseXML.getElementsByTagName("logid")[i].firstChild.data;
                              addoption(logname,logid);
                            }
                          }else{
alert("所选择运行单位或专业没有日志!");
                          }
} else { //页面不正常
alert("您所请求的页面有异常。");
}
}
}
三.清除列表框内容的JS:function deloption(){
var len = document.all.logid.options.length;
for(var i = len;i>=0;i--){
document.all.logid.options[i] = null;
  }
}
三.增加列表框内容的JS:
function addoption(logname,logid){
var len = document.all.logid.options.length;
document.all.logid.options[len] = new Option(logname,logid);
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics