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>
分享到:
相关推荐
找不到,写了一个多级4级下拉联动,分享找不到,写了一个多级4级下拉联动,分享找不到,写了一个多级4级下拉联动,分享找不到,写了一个多级4级下拉联动,分享
dwr无限极下拉联动(运行6级下拉联动效果演示含说明,数据库数据来源于数据库中 这里为一个视频演示程序,有什么疑问可以留言。 这个视频是一个avi的文件,压缩后不到8M,源文件有500M,需要看看的朋友可以下载。
基于jquery的N级下拉联动,例子里面实现了3级联动,可以自己扩展
省市区县多级下拉联动选框 我再做项目是,遇到这个问题,所以在网路上找了一个资料,觉的不错,提供给大家
dwr下拉联动例子 选择省份 查询市 以后还有相关资料上传
MVC多级下拉联动,带编辑功能 ,博客介绍地址:http://www.cnblogs.com/jys509/p/4554688.html
EXCEL二级下拉联动菜单制作,很实用的例子,供需要的朋友下载
省 市区 县多级 下拉联动 选框 相关的一些资料 补充之前上传的一个关于联动下拉框的一些相关的类似的别人做的一些例子,都是从网上找来的,供大家了解下!!
二级联动 下拉列表 可以进行2级联动下拉等功效 完全的代码 用的时候只需要改改数据库就行了
thinkphp+ajax省、市、县、乡、村5级下拉联动代码
jQuery 插件编写的select三级联动,多级联动,修改方便,扩展方便
javascript下拉联动,简单明了,详细解析
多级联动下拉选择框,动态获取下一级多级联动下拉选择框,动态获取下一级
之前有过记录,select下拉联动 (Bootstrap、JQuery插件之cxselect)区别在这个级联性更强。 HTML源码: <!DOCTYPE html> <head> <meta charset="utf-8"> <title></title> </...
ASP 加数据库 四级菜单联动 <!--#include file="adoconn.asp"--> var m_oXMLDoc = new ActiveXObject("Microsoft.XMLDOM"); var m_sBaseSrc = "Tree.asp?ParentCode="; //源码爱好者(http://www.codefans.net) ...
php + mysql + ajax 实现省份三级联动下拉。
这是一款比较实用的三级联动的下拉列表,很多的实际项目中都会用到得哦
插件描述:Select2实现全国省市区三级联动下拉菜单. 参考示例:http://www.jq22.com/jquery-info6009
基础代码是原来的,那其中的数据是我自己弄的,应该还算全吧
Winform C# 从省市区的json文件中读取的三级联动下拉选项实现。 之前上传了一个解板xml文件的版本,今天做了一个解析json 的版本,由于对 Newtonsoft 不是太熟,只用了一点点的功能,主要是JObject 和JArray 的使用...