`

jquery +ajax +json实现动态级联加载

    博客分类:
  • ajax
 
阅读更多
<!-- 导入jquey库文件 -->
		<script type="text/javascript" src="js/jquery-1.3.1.js"></script>
		
		<script type="text/javascript">
		
			//使用Ajax结合Jquery+后台Json 实现联动菜单
			//使用Jquery进行Ajax代码的简化
			function showCity(province){
				//4个参数类型分别为:提交路径,传递的参数,回调函数,返回数据类型
				$.post("<%=basePath%>pages/user!showCity.action",{"user.province":province},showCityCallback,"json");
			}
			
			
			//回调函数,Jquery会自动将结果转换为对象,并传递到回调函数中。
			function showCityCallback(obj){
				
				//按Id查询页面元素
				var city=$("#city");
				
				//设置属性,每次改变时清空在显示
				city.attr("length",1);
				for(var i=0;i<obj.allCity.length;i++){
					var cid=obj.allCity[i].cid;
					var cname=obj.allCity[i].cname;
					
					//添加子节点
					var option="<option value='"+cid+"'>"+cname+"</option>";
					city.append(option);
				}
			}
		</script>

 

<select id="province" name="user.province"  onchange="showCity(this.value);">
	<option value="0">-请选择省份-</option>
    <c:if test="${allProvince!=null}">
    	<c:forEach var="province" items="${allProvince}">
		    <c:if test="${user.province==province.pid}">
				<option value="${province.pid}" selected="selected">${province.pname}</option>
			</c:if>
			<c:if test="${user.province!=province.pid}">
				<option value="${province.pid}" >${province.pname}</option>
			</c:if>
		</c:forEach>
	</c:if>
</select>

<select id="city" name="user.city">
	<option value="${user.city}">-请选择城市-</option>
</select>

 

public String showCity()throws Exception{
		
		List<City>  allCity=provinceService.findCityByPid(user.getProvince());
		//使用org.Json来拼写字符串
		JSONObject root=new JSONObject();  //定义
		JSONArray array=new JSONArray();
		
		//迭代循环将每个对象obj放入数组array
		Iterator<City> iter=allCity.iterator();
		while (iter.hasNext()) {
			City city=iter.next();
			JSONObject obj=new JSONObject();
			obj.put("cid", city.getCid());
			obj.put("cname", city.getCname());
			array.put(obj);
		}
		
		//将array数组放入节点root对象中返回给Ajax调用
		root.put("allCity", array);
		
		HttpServletResponse response=ServletActionContext.getResponse(); //取得response对象
		response.setCharacterEncoding("GBK");
		response.setContentType("text/html");
		
		PrintWriter out=response.getWriter();
		out.print(root.toString());
		out.close();
		
		return null;
	}

 

分享到:
评论

相关推荐

    SSH+jQuery+json 实现的Ajax操作,绝对精华,代码简练清晰,绝对能看明白

    总结来说,这个压缩包提供的示例是一个基于SSH后端、jQuery前端和JSON数据交换的Ajax级联操作实现,旨在展示如何优雅地处理Web应用中的动态数据加载。这种技术组合大大提高了用户体验,因为用户无需刷新整个页面就能...

    JQuery + Servlet +Json实现下拉框级联

    在实现下拉框级联时,JQuery负责监听用户在第一个下拉框中的选择,然后通过Ajax异步请求向Servlet发送数据,获取相应的级联数据,并更新第二个下拉框的选项。 以下是实现步骤: 1. **创建Servlet**:在Servlet中,...

    jquery+ajax+jsp+servlet实现二级级联菜单

    ### 使用jQuery、Ajax、JSP与Servlet实现二级级联菜单 #### 一、项目背景与技术栈概述 本文档将详细介绍如何使用jQuery、Ajax、JSP与Servlet来实现一个简单的二级级联菜单功能。该功能常见于许多Web应用程序中,如...

    jQuery + Ajax + json 级联

    本文将深入探讨如何利用jQuery、Ajax以及JSON技术实现级联选择器,并对给定代码进行详细分析,帮助读者理解其工作原理。 #### 一、级联选择器的基本概念 级联选择器是指当用户在一个下拉列表中做出选择时,该选择...

    ajax+struts2.0+jsp下拉列表级联

    在这个“ajax+struts2.0+jsp下拉列表级联”的示例中,我们将探讨如何利用这三个技术实现这种功能。 首先,AJAX(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下与服务器交换数据并更新部分网页...

    JSP+AJAX+MYSQL实现二级级联菜单

    在IT领域,构建动态、交互性强的Web应用是常见的需求,而"JSP+AJAX+MYSQL实现二级级联菜单"就是一个典型的实例。这个技术组合主要用于创建能够实时更新且具有前后端交互功能的Web界面,使得用户在选择一级菜单时,...

    jquery+ajax无刷新评论源码(包含无刷新分页)

    发表评论无刷新,www.sendawangluo.com页面获取评论时显示loading加载效果jquery真的是一个非常优秀的JS库,简单容易掌握,对于网页中的多级菜单、级联效果、Tab选项卡切换、图片轮转显示,实现起来都非常的简单,...

    ajax+ssh实现省份城市级联查询

    Struts2还支持JSON插件,可以方便地将后台数据以JSON格式响应给Ajax请求,从而实现省份城市的数据交互。 在实际的项目中,开发者首先需要创建省份和城市的数据模型,并在Hibernate中配置对应的映射文件。接着,利用...

    jQuery ajax JSON 下拉列表框级联

    本示例中的"jQuery ajax JSON 下拉列表框级联"就是这样的一个应用。 1. **jQuery**:jQuery是一个高效、简洁且功能丰富的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互。在本案例中,jQuery用于...

    jquery+ajax 城市三级级联

    5. **动态更新下拉框**:在 `Ajax` 请求成功后,将返回的城市数据解析,并用 `jQuery` 更新市的下拉框。同样,对于区县的更新也是类似的逻辑。 6. **优化用户体验**:可以添加 loading 提示,让用户知道数据正在...

    jsp+json+mySql 实现二级级联下拉菜单

    在本文中,我们将深入探讨如何使用JSP、JSON和MySQL来实现一个二级级联下拉菜单。这个功能常用于网站的表单设计中,让用户能够从相关联的分类中选择选项,例如省份与城市的选择。 首先,让我们了解这三个技术的核心...

    SSH+Ajax+JSON省市级联效果Spring+Struts+Hibernate+Jquery

    jQuery在接收到这些数据后,可以轻松地解析JSON并动态地更新城市选择框的内容,从而实现级联效果。 具体实现步骤大致如下: 1. 用户在前端选择省份,触发jQuery的Ajax事件。 2. Ajax请求发送到后台,由Struts拦截...

    城市级联完整实例(带数据库.sql文件) jquery+ajax

    这个实例是基于jQuery、AJAX和$.jetjson实现的城市级联效果的完整案例,同时还包括了一个数据库.sql文件,方便用户快速搭建并运行。接下来,我们将详细讨论这个实例中的关键知识点。 1. **jQuery**: jQuery 是一个...

    4级级联菜单JQUERY+JSON版

    "4级级联菜单JQUERY+JSON版"是一个利用JavaScript库jQuery和数据格式JSON实现的多级联动菜单的示例。这个项目主要展示了如何在现代浏览器(如Chrome、Firefox、Opera以及IE11)中创建一个可扩展且功能丰富的四级菜单...

    JSP+AJAX三级级联及更多级的实现

    在Web开发中,JSP(JavaServer Pages)和AJAX...总的来说,“JSP+AJAX三级级联及更多级的实现”是一个典型的前后端协同工作,通过动态交互提升用户体验的实例,展示了Web开发中数据获取和页面更新的灵活性。

    ajax+servlet两级动态级联下拉框

    本项目“ajax + servlet 两级动态级联下拉框”旨在演示如何使用AJAX(异步JavaScript和XML)技术和Servlet进行交互,以实现在选择第一个下拉框的值后,第二个下拉框自动更新并显示相关数据。以下是对这个项目的详细...

    jQuery实现级联地区选择

    "jQuery实现级联地区选择"这个主题就是关于如何利用jQuery库来创建一个动态联动的省份-城市选择器。这个实例包含了JSP(JavaServer Pages)、JavaScript和CSS三个主要部分,旨在提供一种高效、用户友好的选择体验。 ...

    Jquery Ajax 动态级联

    本主题将深入探讨如何利用jQuery AJAX实现动态级联效果,即二级联动下拉菜单,这种功能通常用于多级分类选择或者地区选择等场景。 首先,让我们了解什么是jQuery和AJAX。jQuery是一个强大的JavaScript库,简化了...

    ajax_struts_jquery_json级联菜单

    综上所述,"ajax_struts_jquery_json级联菜单"的实现涉及了前端和后端的协同工作。前端利用jQuery的AJAX功能发送请求,处理JSON响应并更新DOM;后端则用Struts处理请求,查询数据库并返回JSON数据。这种组合提供了...

Global site tag (gtag.js) - Google Analytics