页面代码
<div>
省份:<select id="province">
<option value="">请选择省份</option>
</select>
城市:<select id="city">
<option value="">请选择城市</option>
</select>
</div>
级联菜单js代码
$(document).ready(function(){
var province=$("#province");
var city=$("#city");
var provinceurl="/Struts2/base/selectProvince.action";
$.post(provinceurl,{code:"province"},function(data){
var dataObj=eval("("+data+")");
$.each(dataObj,function(index,item){
var tempOption = document.createElement("option");
tempOption.value = item.provinceId;
tempOption.innerHTML = item.provinceName;
province.append(tempOption);
});
},"json");
province.change(function(){
city.empty();
var params={provinceCode:$('#province option:selected').val()};
$.post("/Struts2/base/selectCity.action",params,function(data){
alert(data);
var dataObj=eval("("+data+")"); //转换为json对象
$.each(dataObj,function(index,item){
var tempOption = document.createElement("option");
tempOption.value = item.cityId;
tempOption.innerHTML = item.cityName;
city.append(tempOption);
});
},"json");
});
});
Action
ackage com.hyts.business.action;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import net.sf.json.JSONArray;
import com.hyts.dao.ProvinceDAO;
import com.hyts.model.City;
import com.hyts.model.Province;
import com.opensymphony.xwork2.ActionSupport;
public class ChainSelectAction extends ActionSupport {
private static final long serialVersionUID = 1383189653446960523L;
private HttpServletRequest request;
private String result;//前台接收数据
private String provinceCode;
public String selectProvince() {
ProvinceDAO provinceDAO=new ProvinceDAO();
List<Province> list=provinceDAO.getAllProvince();
JSONArray jsonArray2 = JSONArray.fromObject( list );
this.result=jsonArray2.toString();
return SUCCESS;
}
public String selectCity() throws Exception{
ProvinceDAO provinceDAO=new ProvinceDAO();
System.out.println(this.provinceCode);
int provinceId=Integer.parseInt(this.provinceCode);
List<City> list=provinceDAO.getCityByProvince(provinceId);
for(int i=0;i<list.size();i++)
{
City city=list.get(i);
System.out.println(city.getCityName());
}
JSONArray jsonArray = JSONArray.fromObject( list );
this.result=jsonArray.toString();
return SUCCESS;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public String getProvinceCode() {
return provinceCode;
}
public void setProvinceCode(String provinceCode) {
this.provinceCode = provinceCode;
}
public void setServletRequest(HttpServletRequest request) {
this.request=request;
}
}
Struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<include file="struts-default.xml"/>
<package name="/base" extends="json-default" namespace="/base">
<action name="selectProvince" class="com.hyts.business.action.ChainSelectAction" method="selectProvince">
<result type="json">
<param name="root">result</param>
</result>
</action>
<action name="selectCity" class="com.hyts.business.action.ChainSelectAction" method="selectCity">
<result type="json">
<param name="root">result</param>
</result>
</action>
</package>
</struts>
分享到:
相关推荐
本主题将深入探讨如何利用jQuery AJAX实现动态级联效果,即二级联动下拉菜单,这种功能通常用于多级分类选择或者地区选择等场景。 首先,让我们了解什么是jQuery和AJAX。jQuery是一个强大的JavaScript库,简化了...
在这个“jQuery+ajax实现三级级联”的实例中,我们主要探讨如何利用这两种技术来创建一个能够逐级联动的下拉菜单系统,这在数据筛选和表单填写中十分常见,如地区选择、部门分类等场景。 首先,jQuery是一个轻量级...
在实现Ajax级联菜单时,首先需要使用JavaScript处理用户的交互事件,如点击或选择某个选项。通常,我们会为相关元素添加事件监听器,当用户触发特定行为时,执行相应的函数。 3. **XMLHttpRequest对象**: ...
这是一个利用了Ajax技术的一个Jquery实例,动态的生成级联的下拉列表框,在中关村zol中经常可以看到。如果遇到无法显示的情况,请自己阅读代码。
从给定的文件信息来看,我们正在探讨的主题是“jquery3级级联”,这是一个涉及到JavaScript库JQuery在网页上实现三级下拉菜单级联选择功能的话题。以下是对这个主题的详细解析: ### 1. 什么是3级级联? 3级级联指...
"jQuery实现级联地区选择"这个主题就是关于如何利用jQuery库来创建一个动态联动的省份-城市选择器。这个实例包含了JSP(JavaServer Pages)、JavaScript和CSS三个主要部分,旨在提供一种高效、用户友好的选择体验。 ...
综上所述,"ajax_struts_jquery_json级联菜单"的实现涉及了前端和后端的协同工作。前端利用jQuery的AJAX功能发送请求,处理JSON响应并更新DOM;后端则用Struts处理请求,查询数据库并返回JSON数据。这种组合提供了...
在网页开发中,级联...总之,AJAX级联下拉列表的实现是前端开发中的一个重要技能,它涉及到了JavaScript、HTTP请求、DOM操作等多个方面。通过实践和理解提供的代码,你可以深入理解这些概念并提升你的前端开发能力。
【Java Jquery ajax级联】是一种常见的前端与后端数据交互技术,用于实现网页上的下拉框联动效果。在Web开发中,用户在一个下拉列表(Select)的选择会影响到另一个下拉列表的内容,这种功能通常通过AJAX(异步...
**jQuery 网站导航级联菜单详解** 在网页设计中,导航菜单是至关重要的元素,它帮助用户轻松地在网站各个部分之间穿梭。而级联(或下拉)菜单则进一步增强了用户体验,特别是对于拥有多个层级内容的大型网站。在本...
本主题聚焦于“Jquery实现ajax二级级联查询”,这是一个常见的前端交互设计,常见于下拉菜单联动,例如省份选择后自动更新城市选择。在这个场景中,我们通常会利用服务器端(如JSP或Servlet)动态生成XML文件,因为...
**三、城市级联实现步骤** 1. **HTML结构**:创建包含国家、省份和城市的级联下拉列表。 2. **JavaScript准备**:初始化XMLHttpRequest对象,设置响应事件。 3. **发送请求**:在省份选择改变时,使用Ajax发送GET...
本文将深入探讨如何使用Ajax来实现级联菜单,并结合数据库获取数据。 首先,我们需要理解Ajax的工作原理。Ajax的核心是XMLHttpRequest对象,它允许JavaScript在不重新加载整个页面的情况下与服务器进行异步通信。...
总结来说,jQuery的易用性和灵活性使得构建级联下拉列表变得简单,而结合AJAX技术,我们可以实现动态数据加载,提供更加丰富的用户体验。同时,通过合理的数据缓存策略,可以进一步优化性能,提升应用响应速度。
在本文中,我们将深入探讨如何使用jQuery库进行AJAX(异步JavaScript和XML)开发,通过实际案例来学习包括级联菜单、谷歌式搜索提示和可编辑表格在内的常见功能。这些功能都允许用户在不刷新整个页面的情况下与网页...
本文将深入探讨如何使用jQuery实现级联效果,这种效果常见于下拉菜单、多级选择器和联动筛选等场景。级联效果意味着一个选择会影响另一个相关的选择,从而提供更精细的用户交互体验。 首先,级联效果通常涉及到多个...
Ajax动态级联树是一种在网页中实现数据交互和展示层次结构数据的有效技术。它结合了Ajax(异步JavaScript和XML)的优势,使用户能够在不刷新整个页面的情况下获取和操作数据,提供流畅的用户体验。本资源包含的就是...
总结,jQuery城市级联插件通过巧妙地结合jQuery的功能和Ajax技术,实现了高效、流畅的城市级联选择效果。开发者可以通过定制插件满足特定需求,而使用者则能享受到更为便捷的操作。无论是在开发还是使用中,理解其...
本文将深入探讨如何利用jQuery、Ajax以及JSON技术实现级联选择器,并对给定代码进行详细分析,帮助读者理解其工作原理。 #### 一、级联选择器的基本概念 级联选择器是指当用户在一个下拉列表中做出选择时,该选择...