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框架下实现多级下拉菜单的联动效果,并且这些下拉菜单具备编辑功能。多级下拉联动常见于需要层次结构选择的场景,如地区选择、组织架构等,用户可以...
在IT开发领域,尤其是前端网页设计中,"省市区县多级下拉联动选框"是一个常见的需求,特别是在用户填写地址或选择地理位置时。这种功能可以让用户通过逐级选择的方式,方便地找到并输入准确的地域信息。接下来,我们...
在网页开发中,下拉联动(Dropdown Cascade)是一种常见的交互设计,它允许用户通过选择一个选项来触发其他关联下拉菜单的更新。这种效果在层级关系明显的数据展示中非常实用,比如地区选择、产品分类等。本文将深入...
在IT领域,尤其是在前端开发中,"多级4级下拉联动"是一种常见的交互设计,常见于导航菜单、选择器或者表单等场景。这种设计允许用户通过四级递进的下拉选项来逐级筛选和选择,提高了用户体验,特别是在处理大量分类...
在这个"**dwr下拉联动的例子**"中,我们关注的是如何利用DWR来实现下拉菜单的联动效果,即在一个下拉框的选择改变时,根据所选值动态更新另一个下拉框的内容。 在传统的Web应用中,这种联动通常需要通过页面刷新...
在IT开发领域,尤其是前端设计中,省市区县多级下拉联动选框是一个常见的功能需求,主要用于用户在填写表单时选择地理位置信息。这种设计能够有效地节省界面空间,提高用户体验,同时也便于后台数据处理。下面我们将...
dwr无限极下拉联动(运行6级下拉联动效果演示含说明,数据库数据来源于数据库中 这里为一个视频演示程序,有什么疑问可以留言。 这个视频是一个avi的文件,压缩后不到8M,源文件有500M,需要看看的朋友可以下载。
在IT领域,尤其是在Web开发中,"php_ajax_三级下拉联动"是一个常见的功能需求,主要用于构建用户友好的交互式界面。这个功能的核心是利用PHP、MySQL和AJAX技术实现一个动态的、逐级展开的下拉菜单,通常用于地区选择...
EXCEL二级下拉联动菜单制作,很实用的例子,供需要的朋友下载
【标题】"jsp省级市三级下拉联动ajax"所涉及的知识点主要集中在Web前端开发、后端编程以及数据库操作上,特别关注了无刷新用户体验的实现。在这个项目中,我们利用JSP(JavaServer Pages)作为后端脚本语言,通过...
二级联动 下拉列表 可以进行2级联动下拉等功效 完全的代码 用的时候只需要改改数据库就行了
thinkphp+ajax省、市、县、乡、村5级下拉联动代码
### JavaScript 下拉联动知识点 #### 一、概念与应用场景 **JavaScript下拉联动**是一种常见的网页交互技术,常用于表单或数据选择场景。当用户在一个下拉列表中选择某个选项时,根据所选值动态地改变另一个下拉...
JavaScript中的级联下拉联动是一种常见的前端交互设计,它允许用户在多个下拉菜单之间进行选择,其中每个下拉菜单的选项取决于前一个下拉菜单的选定值。在这个例子中,我们看到一个由三个`select`元素组成的级联下拉...
三级联动下拉列表 在 Web 开发中,三级联动下拉列表是一个常见的需求,特别是在实际项目中,它可以帮助用户快速选择省市区信息。在这个例子中,我们可以看到一个使用 JavaScript 实现的三级联动下拉列表。 知识点1...
在IT行业中,多级联动下拉选择框是一种常见的交互元素,尤其在数据分类或层级结构展示时非常实用。这种设计允许用户通过选择一个选项来触发下一个下拉框,展示与前一个选择相关的子级选项,形成一个联动的效果。在...
在IT行业中,构建一个全国省市区三级联动的下拉菜单是一项常见的需求,特别是在网页表单设计和地理信息系统中。这个任务通常涉及到前端开发,利用JavaScript库来实现动态交互的效果。本例中,我们使用了一个名为...
ASP 加数据库 四级菜单联动 <!--#include file="adoconn.asp"--> var m_oXMLDoc = new ActiveXObject("Microsoft.XMLDOM"); var m_sBaseSrc = "Tree.asp?ParentCode="; //源码爱好者(http://www.codefans.net) ...
“下拉联动”(也称为级联选择或依赖下拉)是指两个或多个下拉菜单之间存在关联,当用户在一个下拉菜单中做出选择时,会影响到另一个下拉菜单的选项。这种设计常见于地理信息选择,如首先选择国家,然后根据国家显示...
WPS2023 excel根据地区代码实现省市区三级联动下拉选