`
ludaojuan21
  • 浏览: 224448 次
  • 性别: 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);
}
分享到:
评论

相关推荐

    jQGrid动态填充select下拉框的选项值(动态填充)

    在某些场景下,我们需要动态地填充select下拉框的选项值,以实现更灵活的数据输入。本篇文章将详细探讨如何在jQGrid中实现这一功能。 首先,理解`select`下拉框的基本概念。在HTML中,`&lt;select&gt;`元素用于创建一个...

    Ajax实现下拉框三级联动

    **Ajax实现下拉框三级联动**是Web开发中一种常见的交互设计,主要用于提高用户体验,让用户在选择一项数据时,能够即时地看到与之关联的下级数据,而无需等待整个页面重新加载。这种技术通常应用于地址选择、产品...

    Ajax下拉框实例,Ajax小实例

    在网页中,下拉框(Dropdown List)常用于提供多项选择,而结合Ajax,下拉框可以实现动态加载数据,提高用户体验。例如,当用户在下拉框中选择一项时,通过Ajax发送请求到服务器,服务器根据请求返回对应的数据,...

    可输入文字查找ajax下拉框控件 ComBox的实现方法

    虽然没有在给出的代码片段中展示,但实现Ajax下拉框的关键是使用Ajax异步请求从服务器获取匹配的选项数据。这通常涉及监听输入事件,发送请求,然后更新下拉框的选项列表。 7. **渲染和事件绑定**: GooCombo类还...

    动态加载select标签下拉框数据

    动态加载的基本原理是使用AJAX(Asynchronous JavaScript and XML)技术,通过JavaScript与服务器进行异步通信。当用户滚动下拉框或者触发某个事件时,浏览器发送请求到服务器,请求特定范围或特定条件的数据。...

    java AJAX实现级联下拉框

    本文将详细介绍如何使用Java后端技术和AJAX前端技术结合来实现一个简单的级联下拉框功能。通过具体的代码示例和逻辑分析,帮助读者更好地理解和掌握这一实用技巧。 #### 技术背景 1. **AJAX(Asynchronous ...

    ajax完美解决的下拉框的onchange问题

    AjaxSend()函数中,首先检查XmlHttpRequest对象创建成功与否,然后获取地区下拉框选中项的value值,并构造请求URL。通过POST方法向服务器发送请求,服务器返回的数据格式为字符串。 - 数据处理与下拉框更新: 在...

    ajax动态查询下拉提示代码.zip

    【标题】"Ajax动态查询下拉提示代码"指的是在网页中使用Ajax技术实现的一种交互功能,它能够在用户输入时实时从服务器获取数据并显示在下拉框中作为提示。这种功能常见于搜索框、选择器等场景,可以提高用户体验,...

    Ajax动态2级联动

    2级联动通常指的是在一个选择项被选中后,根据其值动态地更新另一个下拉框或列表,例如省份与城市的关系。在这种场景中,Ajax发挥着关键作用,它允许我们在后台获取数据,然后实时地填充第二个选择框,而无需重新...

    bootstrap下拉框动态赋值方法

    然而,当涉及到动态赋值时,即在页面加载后或根据用户操作改变下拉框的选项,这需要一些JavaScript和Ajax技术。 在上述的代码片段中,我们可以看到一个基于Bootstrap的下拉框动态赋值的方法。以下是对这个方法的...

    jsp从数据库获取数据填充下拉框实现二级联动菜单的方法

    这种功能在JSP(Java Server Pages)中可以通过与数据库交互来动态填充下拉框,并结合JavaScript和Ajax技术实现。本文将详细讲解如何使用JSP从数据库获取数据来填充下拉框,进而实现二级联动菜单。 首先,我们需要...

    asp.net中js+jquery添加下拉框值和后台获取示例

    在***中,结合使用JavaScript和jQuery来动态添加下拉框的值,并在后台获取这些值的示例,是一个典型的前后端交互应用。在这个过程中,前端利用jQuery来监听下拉框值的变化,并动态地添加新的选项到另一个下拉框中;...

    jQuery下拉框自动检索(DWR)

    要实现自动检索,我们需要监听用户在输入框中的输入事件,如`keyup`,然后利用jQuery选择器获取当前输入值,通过Ajax请求发送到服务器进行匹配筛选。 ```javascript $("#searchBox").on("keyup", function() { var...

    ajax省市级联

    5. **处理响应**:在Ajax的`onreadystatechange`或Fetch的`then`回调中,检查状态码和数据,将返回的城市列表填充到城市下拉框。通常需要清空现有选项,然后为每个城市创建一个新的`&lt;option&gt;`元素。 6. **错误处理*...

    [原创]基于JQUERY的Combo下拉框控件

    可以用AJAX方法,动态从远程服务器上获取下拉内容; 控件中含有隐藏的SELECT表单控件,ID及NAME都可自定义,这样可使COMBO控件放在一个普通的表单内,用户用一般的提交方式, 也可把选中的值准确地传到后台 经测试...

    经典Ajax省市级联菜单

    在这个系统中,用户选择省份时,Ajax会向服务器发送请求,服务器响应后返回对应省份的城市列表,接着在前端更新城市下拉框的内容,无需刷新整个页面。这种用户体验极大地提高了网页的交互性和响应速度。 Ajax...

    Asp+xml+数据库 - 四级联动下拉框

    2. 使用JavaScript或jQuery在客户端处理下拉框的事件,当用户在任一下拉框中选择一个值时,触发AJAX请求到服务器。 3. ASP脚本接收请求,根据请求参数查询XML数据,然后返回下一级菜单的选项。 4. 客户端接收到...

    exTree扩展的select动态构造目录树

    当用户在`select`下拉框中做出选择时,`exTree`会根据选择的值动态加载对应的目录树。例如,用户可以选择一个部门,然后目录树将展示该部门下的所有子部门和员工。 为了实现这个功能,我们需要做以下步骤: 1. **...

    Ajax+PHP-省市区级联菜单

    当用户在省份下拉框中选择一个值时,JavaScript代码会构造一个包含该省份ID的请求,然后发送到服务器。请求的格式可能是GET,携带省份ID作为查询参数,或者POST,将省份ID作为请求体的一部分。 服务器端的响应处理...

    Ajax二级联动下拉列表框

    index.jsp 是前端的主要页面,其核心是使用Ajax技术来实现下拉列表的动态更新。 ##### 1. 页面初始化 ```jsp ;charset=utf-8"%&gt; &lt;title&gt;MyJSP 'index.jsp' starting page ;charset=utf-8"&gt; ``` 这段代码定义...

Global site tag (gtag.js) - Google Analytics