`
blj_1106
  • 浏览: 13359 次
  • 性别: Icon_minigender_1
  • 来自: 山西
最近访客 更多访客>>
社区版块
存档分类
最新评论

下拉联动

    博客分类:
  • java
阅读更多
SelectProvAction.java
package com.xxx.hjw.action;

import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

import com.opensymphony.xwork2.ActionSupport;
import com.xxx.hco.HcoFactory;
import com.xxx.hco.entity.HbtRegionEntity;

public class SelectProvAction extends ActionSupport{
	private static final long serialVersionUID = 1L;

	/**
	 * dom4j生成XML文件
	 * @param id
	 * @return
	 */
	
	public String getProv(){
		HttpServletRequest request = ServletActionContext.getRequest();
		HttpServletResponse response = ServletActionContext.getResponse();
		response.setContentType("text/xml;charset=UTF-8");
			Map<Integer,String> map = new HashMap<Integer,String>();
			List<HbtRegionEntity> list = HcoFactory.getHbtRegionRemote().findListById(Integer.valueOf(request.getParameter("regionId")));
			for(HbtRegionEntity  hre :  list){
				map.put(hre.getRegionId(), hre.getNAME());
			}
			Document doc = DocumentHelper.createDocument();
			Element rootElt = doc.addElement("items");
			for (Iterator<Map.Entry<Integer, String>> iter=map.entrySet().iterator(); iter.hasNext();) {
				Map.Entry<Integer, String> entry = iter.next();
				Element itemElt = rootElt.addElement("item");
				Element idElt = itemElt.addElement("id");
				idElt.setText(String.valueOf(entry.getKey()));
				Element nameElt = itemElt.addElement("name");
				nameElt.setText(entry.getValue());
			}
			String xmlString = doc.asXML();
			//System.out.println(xmlString);
			try {
			response.getWriter().write(xmlString);
			} catch (IOException e) {
				e.printStackTrace();
			}
			return null;
	}

}


页面js
<script type="text/javascript">
		function selectProv(field) {
			var xmlHttp = null;
				//表示当前浏览器不是ie,如ns,firefox
				if(window.XMLHttpRequest) {
					xmlHttp = new XMLHttpRequest();
				} else if (window.ActiveXObject) {
					xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
				}
				var url = "private/hbhjw/selectProv.action?regionId=" + field.value + "&time=" + new Date().getTime();
				//设置请求方式为GET,设置请求的URL,设置为异步提交
				xmlHttp.open("GET", url, true);
				
				xmlHttp.onreadystatechange=function() {
					//Ajax引擎状态为成功
					if (xmlHttp.readyState == 4) {
						//HTTP协议状态为成功
						
						if (xmlHttp.status == 200) {
							var doc = xmlHttp.responseXML;
							var items = doc.getElementsByTagName("item");
							//取得省下拉列表
							var provSelect = document.getElementById("statUnitCode");
							//清除省下拉列表中的值
							provSelect.options.length = 0;
							var o = new Option("=选择区=", 0);
							provSelect.add(o);
							for (var i=0; i<items.length; i++) {
								//var id = items[i].childNodes[0].childNodes[0].nodeValue;
								//var name = items[i].childNodes[1].childNodes[0].nodeValue;
								var id = items[i].childNodes[0].firstChild.nodeValue;
								var name = items[i].childNodes[1].firstChild.nodeValue;
								//alert(id + "," + name);
								//构造下拉列表的Option对象
								var o = new Option(name, id);
								//向下拉列表中添加选项
								provSelect.add(o);
							}
						}else {
							alert("请求失败,错误码=" + xmlHttp.status);
						}
					}
				};
				
				//将设置信息发送到Ajax引擎
				xmlHttp.send(null);
			}
		</script>
分享到:
评论

相关推荐

    MVC多级下拉联动,带编辑功能

    在本主题“MVC多级下拉联动,带编辑功能”中,我们将探讨如何在MVC框架下实现多级下拉菜单的联动效果,并且这些下拉菜单具备编辑功能。多级下拉联动常见于需要层次结构选择的场景,如地区选择、组织架构等,用户可以...

    省市区县多级下拉联动选框

    在IT开发领域,尤其是前端网页设计中,"省市区县多级下拉联动选框"是一个常见的需求,特别是在用户填写地址或选择地理位置时。这种功能可以让用户通过逐级选择的方式,方便地找到并输入准确的地域信息。接下来,我们...

    基于jquery的N级下拉联动

    在网页开发中,下拉联动(Dropdown Cascade)是一种常见的交互设计,它允许用户通过选择一个选项来触发其他关联下拉菜单的更新。这种效果在层级关系明显的数据展示中非常实用,比如地区选择、产品分类等。本文将深入...

    找不到,写了一个多级4级下拉联动,分享

    在IT领域,尤其是在前端开发中,"多级4级下拉联动"是一种常见的交互设计,常见于导航菜单、选择器或者表单等场景。这种设计允许用户通过四级递进的下拉选项来逐级筛选和选择,提高了用户体验,特别是在处理大量分类...

    dwr下拉联动的例子

    在这个"**dwr下拉联动的例子**"中,我们关注的是如何利用DWR来实现下拉菜单的联动效果,即在一个下拉框的选择改变时,根据所选值动态更新另一个下拉框的内容。 在传统的Web应用中,这种联动通常需要通过页面刷新...

    省市区县多级下拉联动选框[相关的一些资料].rar

    在IT开发领域,尤其是前端设计中,省市区县多级下拉联动选框是一个常见的功能需求,主要用于用户在填写表单时选择地理位置信息。这种设计能够有效地节省界面空间,提高用户体验,同时也便于后台数据处理。下面我们将...

    dwr无限极下拉联动(运行6级下拉联动效果演示含说明,数据库数据来源于数据库中)

    dwr无限极下拉联动(运行6级下拉联动效果演示含说明,数据库数据来源于数据库中 这里为一个视频演示程序,有什么疑问可以留言。 这个视频是一个avi的文件,压缩后不到8M,源文件有500M,需要看看的朋友可以下载。

    php_ajax_三级下拉联动

    在IT领域,尤其是在Web开发中,"php_ajax_三级下拉联动"是一个常见的功能需求,主要用于构建用户友好的交互式界面。这个功能的核心是利用PHP、MySQL和AJAX技术实现一个动态的、逐级展开的下拉菜单,通常用于地区选择...

    EXCEL二级下拉联动菜单制作

    EXCEL二级下拉联动菜单制作,很实用的例子,供需要的朋友下载

    jsp省级市三级下拉联动ajax

    【标题】"jsp省级市三级下拉联动ajax"所涉及的知识点主要集中在Web前端开发、后端编程以及数据库操作上,特别关注了无刷新用户体验的实现。在这个项目中,我们利用JSP(JavaServer Pages)作为后端脚本语言,通过...

    二级联动 下拉列表

    二级联动 下拉列表 可以进行2级联动下拉等功效 完全的代码 用的时候只需要改改数据库就行了

    thinkphp+ajax省、市、县、乡、村5级下拉联动代码

    thinkphp+ajax省、市、县、乡、村5级下拉联动代码

    javascript下拉联动

    ### JavaScript 下拉联动知识点 #### 一、概念与应用场景 **JavaScript下拉联动**是一种常见的网页交互技术,常用于表单或数据选择场景。当用户在一个下拉列表中选择某个选项时,根据所选值动态地改变另一个下拉...

    js select下拉联动 更具级联性!

    JavaScript中的级联下拉联动是一种常见的前端交互设计,它允许用户在多个下拉菜单之间进行选择,其中每个下拉菜单的选项取决于前一个下拉菜单的选定值。在这个例子中,我们看到一个由三个`select`元素组成的级联下拉...

    省市区三级联动下拉列表

    三级联动下拉列表 在 Web 开发中,三级联动下拉列表是一个常见的需求,特别是在实际项目中,它可以帮助用户快速选择省市区信息。在这个例子中,我们可以看到一个使用 JavaScript 实现的三级联动下拉列表。 知识点1...

    多级联动下拉选择框,动态获取下一级

    在IT行业中,多级联动下拉选择框是一种常见的交互元素,尤其在数据分类或层级结构展示时非常实用。这种设计允许用户通过选择一个选项来触发下一个下拉框,展示与前一个选择相关的子级选项,形成一个联动的效果。在...

    实现全国省市区三级联动下拉菜单

    在IT行业中,构建一个全国省市区三级联动的下拉菜单是一项常见的需求,特别是在网页表单设计和地理信息系统中。这个任务通常涉及到前端开发,利用JavaScript库来实现动态交互的效果。本例中,我们使用了一个名为...

    ASP四级联动下拉菜单 (XML+Access)

    ASP 加数据库 四级菜单联动 &lt;!--#include file="adoconn.asp"--&gt; var m_oXMLDoc = new ActiveXObject("Microsoft.XMLDOM"); var m_sBaseSrc = "Tree.asp?ParentCode="; //源码爱好者(http://www.codefans.net) ...

    支持联动, 下拉选择,下拉多选,下拉层级选

    “下拉联动”(也称为级联选择或依赖下拉)是指两个或多个下拉菜单之间存在关联,当用户在一个下拉菜单中做出选择时,会影响到另一个下拉菜单的选项。这种设计常见于地理信息选择,如首先选择国家,然后根据国家显示...

    地区三级下拉联动JS

    基础代码是原来的,那其中的数据是我自己弄的,应该还算全吧

Global site tag (gtag.js) - Google Analytics