1.项目概述
项目使用的开发技术:hibernate+struts+ajax+jQuery+mysql
与上一个三级联动不同的是:上一个项目是使用dom技术编写的整个js代码,存在一定的不足与bug,即浏览器不兼容,只在火狐中有成效,IE、opera、google等都不能兼容。。。到底是哪个模块导致的不兼容,本人目前正在测试中,欢迎有志之士一块测试,对本人鞭策;这个项目改进了上一个项目的不同,使用轻量的jQuery技术编写js的核心代码,不存在浏览器兼容的问题(本人亲测:IE、opera、火狐、google),而且代码更加简化和逻辑化;核心代码的编写采用了jQuery中提供的三种ajax接口的方法,来实现使用ajax技术的异步通讯,具体见源码,其中有详细的注释;
转载请指明出处:杨凯专属频道
完整项目(默认成1分了,忘了改变资源分值了,本来想0分上传的,抱歉):tianyazaiheruan
2.项目源码
$(document).ready( function() { // jQery的第一个案例 // 调用ajax请求,js的原生格式,直接写{}对象 $.ajax({ async : true, // 异步发送请求 type : "GET", // 采用发送请求的方式,默认的是get,还有post方式 url : "./csdn/ProvinceAction_select.action?time=" + new Date().getTime(), // 设置请求的url地址 dataType : "json", // 服务器预返回的数据格式,改属性有:html、text、xml、script等多种值类型 success : function(data, textstatus) { // 成功返回的回调函数 // 获取所有的省 var jsonPros = data.provinces; // 遍历省 for ( var i = 0; i < jsonPros.length; i++) { // 得到具体的省 var jsonPro = jsonPros[i]; // 创建一个option的jQuery对象 var $proOpt = $("<option></option>"); // 为option对象设置属性 $proOpt.attr("value", jsonPro.pid); $proOpt.text(jsonPro.pname); // 把创建的option省节点添加到省的select节点中 $("#province").append($proOpt); } }, error : function(xhr, textstatus, errorThrown) { // 失败返回的回调函数 } }); // jQery的第二个案例 // 当省发生变化的时候出发的事件 $("#province").bind( "change", function() { // 清空数据 $("#city")[0]=1; $("#country")[0]=1; // 对ajax的进一步封装 // 传递的数据 var pid = $("#province").val(); // $.get("./csdn/CityAction_select.action?time=" + new Date().getTime(), // url请求的luj { pid : pid }, // 请求传递的参数 function(data) { // 返回成功时的回调函数 // 得到所有的市 var jsonCities = data.cities; for ( var i = 0; i < jsonCities.length; i++) { // 得到具体的市 var jsonCity = jsonCities[i]; // 创建一个option的jQuery对象 var $cityOpt = $("<option></option>"); // 为option对象设置属性 $cityOpt.attr("value", jsonCity.cid); $cityOpt.text(jsonCity.cname); // 把创建的option节点省节点添加到市的select节点中 $("#city").append($cityOpt); } }, "json"); // 返回的数据类型 }); // jQery的第三个案例 $("#city").change( function() { // 清空数据 $("#country")[0]=1; var cid = $("#city").val(); // post方法发送ajax请求 $.post("./csdn/CountryAction_select.action?time=" + new Date().getTime(), { cid : cid }, function(data) { // 得到所有的市 var jsonCountries = data.countries; for ( var i = 0; i < jsonCountries.length; i++) { // 得到具体的城镇 var jsonCountry = jsonCountries[i]; // 创建一个option的jQuery对象 var $countryOpt = $("<option></option>"); // 为option对象设置属性 $countryOpt.attr("value", jsonCountry.tid); $countryOpt.text(jsonCountry.tname); // 把创建的option节点省节点添加到城镇的select节点中 $("#country").append($countryOpt); } }, "json"); }); }); Struts.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <include file="www/csdn/project/resource/struts-constant.xml" /> <package name="csdn" namespace="/csdn" extends="json-default"> <action name="ProvinceAction_*" class="www.csdn.project.action.ProvinceAction" method="{1}"> <result type="json"> <!-- 改配置参数为关键,如果不设置改参数json对象会默认加载城市类导致出现session已关闭的错误 --> <param name="includeProperties">provinces\[\d+\]\.pid,provinces\[\d+\]\.pname</param> </result> <result name="input">/index.jsp</result> </action> <action name="CityAction_*" class="www.csdn.project.action.CityAction" method="{1}"> <result type="json"> <param name="includeProperties">cities\[\d+\]\.cid,cities\[\d+\]\.cname</param> </result> <result name="input">/index.jsp</result> </action> <action name="CountryAction_*" class="www.csdn.project.action.CountryAction" method="{1}"> <result type="json"> <param name="includeProperties">countries\[\d+\]\.tid,countries\[\d+\]\.tname</param> </result> <result name="input">/index.jsp</result> </action> </package> </struts>
相关推荐
与上一个三级联动不同的是:上一个项目是使用dom技术编写的整个js代码,存在一定的不足与bug,即浏览器不兼容,只在火狐中有成效,IE、opera、google等都不能兼容。。。到底是哪个模块导致的不兼容,本人目前正在...
总结,`jQuery city-picker`是一个强大且易用的省市区三级联动插件,适用于各种网页项目,特别是那些需要用户选择地址信息的场景。通过灵活的数据源、丰富的API和高度可定制性,开发者可以快速实现这一功能,提高...
这个项目“前端jquery+后端servlet实现三级联动项目省市区”就是一个典型的案例,它展示了如何利用jQuery在前端处理用户交互,以及如何通过Servlet在后端进行数据处理和传输。下面我们将详细探讨这个项目中的关键...
此项目以"html5+jQuery"技术栈为基础,旨在实现一个兼容移动端的三级联动效果,结合了amazeUI的样式设计,以提供用户友好的界面和流畅的操作体验。 首先,我们需要理解什么是三级联动。在地理信息中,通常以省、市...
总的来说,"jquery省市区三级联动插件"是一个高效、实用的前端工具,能帮助开发者快速实现省市区选择的功能,而无需自己编写复杂的逻辑代码。其全面的数据、简单的调用方式和良好的浏览器兼容性,使得它在各种类型的...
这是一种进一步扩展的联动模式,它在三级的基础上又增加了一个关联层级。例如,用户首先选择国家,然后是省份,接着是城市,最后是具体的社区或者机构。在电子商务网站的商品筛选、物流查询,或者是行政区域划分的...
本主题将深入探讨如何使用jQuery实现一个日期三级联动的效果,这是一个常见于用户输入生日或其他时间信息的功能。 一、jQuery基础 jQuery的核心在于其简洁的语法,例如选择元素、操作DOM(文档对象模型)以及处理...
这里的"jquery+ASP做的三级联动"是一个利用jQuery库和ASP.NET技术实现的示例,旨在提供一种高效、动态的用户界面体验。 首先,我们来详细了解一下jQuery。jQuery是一个轻量级的JavaScript库,它简化了JavaScript的...
首先,我们可以看到Dsy函数的定义,Dsy函数用于创建一个三级联动菜单的对象。然后,我们可以看到add函数的定义,add函数用于添加菜单项。Exists函数用于判断菜单项是否存在。 接下来,我们可以看到change函数的定义...
Bootstrat-jQuery插件正是为了解决这一问题而设计的,它结合了Bootstrap的美观样式和jQuery的便捷操作,使得在项目中实现省市区三级联动变得更加简单。 Bootstrap是一个流行的前端框架,它提供了丰富的CSS样式和...
本示例中的"jquery省市三级联动.rar"是一个使用jQuery实现的省市三级联动效果的示例代码。这个功能常用于网页上的地址选择,用户在选择省份后,下拉菜单会自动更新为对应省份的城市,接着选择城市后,再次更新为该...
JS三级联动菜单---世界主要国家地区
2. **三级联动**:三级联动是指在网页上,当用户在第一级(省)选择一个选项时,第二级(市)的数据会根据所选的省动态更新;同样,当市被选定后,第三级(区/县)的数据也会相应更新。这种联动效果需要通过...
总的来说,这个压缩包提供了一个简洁、易用的工具,帮助开发者快速构建省县市三级联动的功能,而无需从头编写复杂的JavaScript代码。通过理解jQuery、HTML5和Bootstrap的基本原理,你可以更好地定制和维护这个功能,...
综上所述,这个项目展示了如何结合JSON、Struts和MySQL数据库实现动态的三级联动下拉框效果,提供了一种从后台数据库实时获取并更新前端数据的解决方案。在实际开发中,这样的功能可以广泛应用于各种需要根据地理...
这个"jquery+xml城市三级联动"项目是利用jQuery库和XML数据来实现这一功能的示例。jQuery是一个强大的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作和Ajax交互。而XML(Extensible Markup Language)则是...
在移动应用和网页开发中,实现用户友好...完成上述步骤后,你将得到一个功能完善的jQuery手机端城市地区选择器,实现省市区三级联动的效果。通过不断优化和调整,可以使其更加符合用户的操作习惯,提升应用的整体体验。
在网页开发中,"jQuery-实现三级联动效果(省市县)"是一个常见的需求,尤其在构建具有地域选择功能的网站时。这个项目主要是利用jQuery库来实现一个动态的、无刷新的省市县选择器,提高了用户体验,使得用户在选择...
在这个项目中,描述提到"里面详细写了一个实际的省市县的三级联动",这意味着代码将根据用户在第一级(省)的选择,动态加载第二级(市)的选项,再根据市的选择更新第三级(县/区)的选项。这是一种常见的数据筛选...
在这个"Java AJAX三级联动--地区 省 市 区县"的场景中,用户在选择一个省之后,对应的市会自动加载;接着,选择市后,对应的区县也会自动加载。这一过程通过AJAX实现,无需每次选择后都刷新整个页面,从而提高了交互...