jq_area地区三级联动插件

合集下载

微信小程序三级联动下拉框插件

微信小程序三级联动下拉框插件

微信⼩程序三级联动下拉框插件微信中下拉选择默认只有⼀级,需要实现下拉三级联动效果:wxml代码:<view class="item"><text class="label">选择地区</text><view bindtap="areaTap"><text class="area-text" wx:if="{{value[0]>0}}">{{pickerP}}{{pickerC}}{{pickerR}}</text><text class="area-text" wx:if="{{value[0]==0}}">--点击选择地址--</text></view>弹出层部分:判断addressMenuIsShow 是否为true还设置是否增加show样式,从⽽控制下拉菜单的弹出<view class="picker-mask {{addressMenuIsShow ? 'show':''}}" catchtap="cityCancel"></view><view class="picker-view {{addressMenuIsShow ? 'show':''}}"> <view class="cascade_header"> <text class="cancel" catchtap="cityCancel">取消</text> <text class="comfirm" catchtap="cityComfirm">确定</text></view><picker-view class="picker-container" bindchange="cityChange" value="{{value}}"> <picker-view-column> <view class="picker-item">--选择省份--</view> <view wx:if="{{provinces.length}}" wx:for="{{provinces}}" class="picker-item" wx:key=""> {{item.item_name}} </view> </picker-view-column><picker-view-column><view class="picker-item">--选择城市--</view><view wx:if="{{cities.length}}" wx:for="{{cities}}" class="picker-item" wx:key=""> {{item.item_name}}</view></picker-view-column> <picker-view-column> <view class="picker-item">--选择地区--</view> <view wx:if="{{regions.length}}" wx:for="{{regions}}" class="picker-item" wx:key=""> {{item.item_name}} </view> </picker-view-column></picker-view></view></view>样式部分:.btn{height: 36px;line-height: 36px;border-radius: 4px;">;color: #fff;}.btn.act{">;}.picker-view {width: 100%;display: flex;">;flex-direction: column;/* justify-content: center;*/align-items: center;position: fixed;bottom: 0px;left: 0px;height:0;-webkit-transition: all 0.3s; transition: all 0.3s;z-index:12;}.picker-view.show{height:667rpx;}.cascade_header{height: 0;width: 100%;border:solid #e5e5e5;border-width: 1px 0;-webkit-transition: height 0.3s; transition: height 0.3s;}.picker-view.show .cascade_header{ height: 107rpx;line-height: 107rpx;}.picker-item {line-height: 34px;margin-left: 5rpx;margin-right: 5rpx;text-align: center;}.cancel,.comfirm{display: block;position: absolute;top: 0;width: 120rpx;height: 107rpx;line-height: 107rpx;font-size: 16px;text-align: center;color: #888;box-sizing: border-box;}.comfirm{right: 0;color:#1aad19;}.picker-container{width: 100%;height: 560rpx;}.picker-mask{display: none;position: fixed;left: 0;width: 100%;height: 100%;">;opacity: 0;-webkit-transition: all 0.3s;transition: all 0.3s;z-index:10;}.picker-mask.show{display: block;opacity: 0.6;}.area-text{font-size: 14px;}js部分:设置data:data: {userName:'',userTel:"",carRegion: ['京', '津', '冀', '晋', '蒙', '辽', '吉', '⿊', '沪', '苏', '浙', '皖', '闽', '赣', '鲁', '豫', '鄂', '湘', '粤', '桂', '琼', '川', '贵', '云', '渝', '藏', '陕', '⽢', '青', '宁', '新', '港', '澳','台'],index: 0,carNum: "",addressMenuIsShow: false,provinces: [],cities: [],regions: [],value:[0,0,0],pickerP: "--选择省份-",pickerC: "-选择城市-",pickerR: "-选择地区--",addressDetail:""},onLoad: function (options) {var proList = [], citList = [], regionList = [];var id = arealist.provinceData[0].item_code;let citysL = arealist.cityData.length;this.setData({provinces: arealist.provinceData})},//点击事件,点击弹出选择页areaTap: function () {this.setData({addressMenuIsShow:true})},cityCancel: function () {this.setData({addressMenuIsShow: false})},cityComfirm: function (e) {var p_index = this.data.value[0];var c_index = this.data.value[1];var r_index = this.data.value[2];var p = (p_index > 0) ? this.data.provinces[p_index - 1].item_name : "--选择省份-";var c = (c_index > 0) ? this.data.cities[c_index - 1].item_name : "-选择城市-";var r = (r_index > 0) ? this.data.regions[r_index - 1].item_name : "-选择地区--";this.setData({addressMenuIsShow: false,pickerP: p,pickerC: c,pickerR: r})cityChange: function (e) {var value = e.detail.value;var provinces = this.data.provinces;var cList = [];var regions = [];var provinceNum = value[0];var cityNum = value[1];var regionNum = value[2];// 如果省份选择项和之前不⼀样,表⽰滑动了省份if (this.data.value[0] != provinceNum) {if (provinceNum > 0) {var province_code = (arealist.provinceData[provinceNum-1].item_code).slice(0, 2); console.log(arealist.provinceData[provinceNum - 1])var city_reg = new RegExp("^" + province_code + "[0-9]{2}00$");for (var i = 0; i < arealist.cityData.length; i++) {if (city_reg.test(arealist.cityData[i].item_code)) {cList.push(arealist.cityData[i])}}this.setData({value: [provinceNum, -1, -1],cities: cList,regions: []})} else {this.setData({value: [-1, -1, -1],cities: [],regions: []})}} else if (this.data.value[1] != cityNum) { // 如果城市选择项和之前不⼀样,表⽰滑动了城市if (cityNum >0) {var city_code = this.data.cities[cityNum - 1].item_code.slice(0,4);var city_reg = new RegExp("^" + city_code+"[0-9]{2}$");for (var i = 0,l = arealist.regionData.length; i < l;i++){if (city_reg.test(arealist.regionData[i].item_code)){regions.push(arealist.regionData[i]);}}this.setData({value: [provinceNum, cityNum, -1],regions: regions})} else {this.setData({value: [provinceNum, -1, -1],regions: []})}} else if (this.data.value[2] != regionNum) { // 如果城市选择项和之前不⼀样,表⽰滑动了城市this.setData({value: [provinceNum, cityNum, regionNum],})}}……省市 json数据:const provinceData = [{"item_code":"110000","item_name":"北京市"},{"item_code":"120000","item_name":"天津市"},{"item_code":"130000","item_name":"河北省"},{"item_code":"140000","item_name":"⼭西省"},{"item_code":"150000","item_name":"内蒙古⾃治区"},{"item_code":"210000","item_name":"辽宁省"},{"item_code":"220000","item_name":"吉林省"},]const cityData = [{"item_code":"110100","item_name":"北京市"}, {"item_code":"120100","item_name":"天津市"}, {"item_code":"130100","item_name":"⽯家庄市"}, {"item_code":"130200","item_name":"唐⼭市"}, {"item_code":"130300","item_name":"秦皇岛市"}, {"item_code":"130400","item_name":"邯郸市"}, {"item_code":"130500","item_name":"邢台市"}, {"item_code":"130600","item_name":"保定市"},……]const regionData=[{"item_code":"110101","item_name":"东城区"}, {"item_code":"110102","item_name":"西城区"}, {"item_code":"110105","item_name":"朝阳区"}, {"item_code":"110106","item_name":"丰台区"}, {"item_code":"110107","item_name":"⽯景⼭区"}, {"item_code":"110108","item_name":"海淀区"}, {"item_code":"110109","item_name":"门头沟区"},……]module.exports = {provinceData: provinceData,cityData: cityData,regionData: regionData}。

thinkphpjquery与ajax实现省市区三级联动菜单

thinkphpjquery与ajax实现省市区三级联动菜单

题目:thinkphp jquery与ajax实现省市区三级联动菜单thinkphp jquery与ajax实现省市县三级联动菜单本示例以省市区三级联动菜单为例:实现步骤:第一:先默认从数据库中读取所有的省份。

第二:通过jquery中的change事件,当省份的内容发生改变时,执行change事件,通过jquery 获得被选中的省份的value值,再后通过异步加载数据。

第三:与第二步相似,当用户选择城市时,会触发change事件,通过jquery 获得被选中的城市的value值,再次进行异步加载数据。

具体示例代码如下:RecruitmentAction.class.phpclass RecruitmentAction extends Action{public function chacity(){$code=I(post.code$city=M(where(array(provincecode$code))-select();echo "option value=请选择城市/optionif($city){foreach($city as $c){echo "option value=".$c[".$c[/optionpublic function chaarea(){ $code=I(post.code$area=M(where(array(citycode$code))-select();echo "option value=/optionif($area){foreach($area as $a){echo "option value=".$a[".$a[/optionpublic function chacitydefault(){ $code=I(post.code$city=M(where(array(provincecode$code))-select();if($city){foreach($city as $c){echo "option value=".$c[".$c[public function chaareadefault(){$code=I(post.code$area=M(where(array(citycode$code))-select();if($area){foreach($area as $a){echo "option value=".$a[".$a[/optionsendrecruitment.phpmeta charset="utf-8"/title省市县三级联动菜单/tiltescirpt src="/jquery/1.11.1/jquery.min.js"script$(function(){#sheng).change(function(){ var code=$(#sheng option:selected ).val();$.post(__URL__/chacity:code},function(data){ #city).html(data);#city).change(function(){ var code=$(#city option:selected ).val();$.post(__URL__/chaarea:code},function(data){).html(data);var code=$(#sheng option).eq(0).val();$.post(__URL__/chacitydefault:code},function(data){#city).html(data);var areacode=110100; $.post(__URL__/chaareadefault :areacode},function(data){ #area).html(data);/script/head$m=M(province$p=$m-id ascselect();input type="text" name="jobplace" value="" /select name="job_province" id="sheng" style="width:100px;"if($p){foreach($p as $v){option value="php echo $v[php echo $v[/option/selectselect name="job_city" id="city" style="width:100px;"/selectselect name="job_area" id="area" style="width:100px;"/select/body/html注:本示例中,控制器部分:chacitydefault(),chaareadefault()方法是为了默认页面加载时,执行一次,让省,市,与区进行显示。

jQuery实现简单三级联动效果

jQuery实现简单三级联动效果

jQuery实现简单三级联动效果本⽂实例为⼤家分享了jQuery实现简单三级联动的具体代码,供⼤家参考,具体内容如下⾸先写⼀个JSON数据[{"province": "吉林省","cities": [{"city": "长春市","counties": ["朝阳区", "经济开发区", "⾼新区"]},{"city": "吉林市","counties": ["东城区", "经济开发区", "⽼城区"]},{"city": "⽩⼭市","counties": ["⼆道区", "河东区", "⾼新区"]}]},{"province": "辽宁省","cities": [{"city": "沈阳市","counties": ["朝阳区", "经济开发区", "⾼新区"]},{"city": "⼤连市","counties": ["东城区", "经济开发区", "⽼城区"]},{"city": "铁岭市","counties": ["⼆道区", "河东区", "⾼新区"]}]},{"province": "⼭东省","cities": [{"city": "青岛市","counties": ["朝阳区", "经济开发区", "⾼新区"]},{"city": "济南市","counties": ["东城区", "经济开发区", "⽼城区"]},{"city": "威海市","counties": ["⼆道区", "河东区", "⾼新区"]}]}]然后⽤Ajax动态获取JSON⽂件中的数据完整代码<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>三级联动</title></head><body><!-- 三级联动 - 两个⼆级联动 --><select id="province"><option value="">---</option></select><select id="city"><option value="">---</option></select><select id="county"><option value="">---</option></select><script src="js/jquery-1.12.4.js"></script><script src="../js/createXMLHttpRequest.js"></script><script>var $province = $("#province");var $city = $("#city");var $county = $("#county");var json;$.getJSON("data/server1.json", function (data) {// 把data保存到json全局变量中json = data;// 遍历data数据$.each(data, function (index, obj) {// 获取所有的省份信息var provinceName = obj.province;// console.log(provinceName);// 将省份信息添加到对应的select元素中$province.append(`<option value="${provinceName}">${provinceName}</option>`);});$province.change(function () {// 将城市下拉列表的选项清空$city.empty();$city.append(`<option value="">---</option>`);// 获取到所选择的城市的⽂本信息var provinceElementName = $(this).children("option:selected").text();// console.log(provinceElementName);$.each(json, function (index, obj) {var provinceName = obj.province;// console.log(provinceName);if (provinceElementName === provinceName) {// 获取到城市数组集合var cities = obj.cities;// 遍历城市数组集合$.each(cities, function (index, obj) {// console.log(obj.city);// 获取到城市名称var cityName = obj.city;// 将该省对应的城市名称添加到对应的select中$city.append(`<option value="${cityName}">${cityName}</option>`);});}});});$city.change(function () {// 将区级下拉列表的选项清空$county.empty();$county.append(`<option value="">---</option>`);// 获取到所选择的城市的⽂本信息var cityElementName = $(this).children("option:selected").text();// console.log(cityElementName);$.each(json, function (index, obj) {// 获取该省对应的所有的城市信息var cities = obj.cities;// console.log(cities);$.each(cities, function (index, cityObj) {// console.log(cityObj.city);var cityName = cityObj.city;if (cityElementName === cityName) {// 获取到区级数组集合// console.log(cityObj.counties);var counties = cityObj.counties;// 遍历区级数组集合$.each(counties, function (index, value) {// 获取到区级名称// console.log(value);// 将该城市对应的区级名称添加到对应的select元素中$county.append(`<option value="${value}">${value}</option>`);});}});});});});</script></body></html>效果如下以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

省市区-三级联动通用化模块组件

省市区-三级联动通用化模块组件

省市区-三级联动通⽤化模块组件都说我们要做模块化设计,⽽不要做功能化设计什么是模块化设计,就是可插拔性⾼,组件化,想要就⽤,不要⽤拉倒,直接删除就⾏什么是功能化设计,就是⼀个简单的功能,实现想要的效果,但是不够通⽤化,别⼈要⽤的话需要读懂你的代码,还需要复制黏贴很多代码这样效率不⾼今天写了⼀个省市区三级联动的模块,写完后使⽤会⾮常⽅便,也很灵活主要使⽤到的技术:jquery,redis,springMVC,MyBatis(springMVC和MyBatis⽆所谓,你⽤struts或者hibernate或者spring data都⾏)⾸先页⾯引⼊js1<script src="/js/jquery-2.2.4.min.js"></script>2<script src="/cityselect/js/jquery.cityselect.js"></script>HTML中写⼊3个div块,这是互斥的,div#id不同就可以做到模块化可插拔1<div id="city">2<select class="prov"></select>3<select class="city" disabled="disabled"></select>4<select class="dist" disabled="disabled"></select>5</div>67<div id="city2">8<select class="prov"></select>9<select class="city" disabled="disabled"></select>10<select class="dist" disabled="disabled"></select>11</div>1213<div id="city3">14<select class="prov"></select>15<select class="city" disabled="disabled"></select>16<select class="dist" disabled="disabled"></select>17</div>初始化JS:<script type="text/javascript">/**** @Description: 省市区三级联动api* Copyright: Copyright (c) 2016** ==============================* 参数说明* url:省市数据josn⽂件路径* prov:默认省份* city:默认城市* dist:默认地区(县)* nodata:⽆数据状态* required:必选项* ==============================** @author leechenxiang* @date 2016年6⽉16⽇下午3:46:58* @version V1.0*/$(function(){$("#city").citySelect({prov:"江苏省",city:"⽆锡市",dist:"南长区",required:false});$("#city2").citySelect({nodata:"none",required:false});$("#city3").citySelect({nodata:"none",required:false});});</script>后台controller:1/**2 *3 * @Description: 获取所有的省市区列表4 * @return5 * @throws Exception6 *7 * @author leechenxiang8 * @date 2016年6⽉16⽇上午11:22:109*/10 @RequestMapping("/getCities")11 @ResponseBody12public CitiesDataResult getCities() throws Exception {13 CitiesDataResult areas = commonService.getAllCities();14return areas;15 }service:1 @Override2public CitiesDataResult getAllCities() {3// 取出缓存4try {5 String citiesDataResult = jedisClient.get(REDIS_CITIES_KEY);6if (!StringUtils.isBlank(citiesDataResult)) {7 CitiesDataResult redisResult = JsonUtils.jsonToPojo(citiesDataResult, CitiesDataResult.class); 8return redisResult;9 }10 } catch (Exception e1) {11 e1.printStackTrace();12 }1314 List<AreaProvince> provinceList = areaProvinceMapper.getProvinceList();15 List<Province> pList = new ArrayList<Province>();16for (AreaProvince province : provinceList) {17int provinceId = province.getProvinceId();18 String provinceName = province.getProvinceName();1920 List<AreaCity> cityList = areaProvinceMapper.getCityListBypId(provinceId);21 List<City> cList = new ArrayList<City>();22for (AreaCity city : cityList) {23int cityId = city.getCityId();24 String cityName = city.getCityName();2526 List<District> districtList = areaProvinceMapper.getDistrictListBycId(cityId);2728 City c = new City();29 c.setN(cityName);30 c.setA(districtList);31 cList.add(c);32 }3334 Province p = new Province(provinceName, cList);35 pList.add(p);36 }3738 CitiesDataResult result = new CitiesDataResult();39 result.setCitylist(pList);4041// 放⼊缓存42try {43 jedisClient.set(REDIS_CITIES_KEY, JsonUtils.objectToJson(result));44 } catch (Exception e) {45 e.printStackTrace();46 }4748return result;49 }如果需要默认选中那么只需要对这3个参数赋值即可:prov:"江苏省",city:"⽆锡市",dist:"南长区",对于省市区的数据源,可以存放在数据库表中,也可以直接存⼊js,作为⼀个json来调⽤即可如果没有省市区可以淘⼀下万能的X宝,可以参考如下链接,真的是太强⼤了,把省市区直接细化到了极致:。

原生javascript制作省市区三级联动详细教程

原生javascript制作省市区三级联动详细教程

原生javascript制作省市区三级联动详细教程多级联动下拉菜单是前端常见的效果,省市区三级联动又属于其中最典型的案例。

多级联动一般都是与数据相关联的,根据数据来生成和修改联动的下拉菜单。

完成一个多级联动效果,有助于增强对数据处理的能力。

本实例以省市区三级联动为例,来说明具体是如何使用javascript 来关联数据,实现联动下拉菜单。

学习本教程之前,读者需要具备html和css技能,同时需要有简单的javascript基础。

这里先准备三个select元素,如下所示:<div class="select_wrap"><span>省:</span><select id="province"><option value="">请选择</option></select><span>市:</span><select id="city"><option value="">请选择</option></select><span>区/县:</span><select id="county"><option value="">请选择</option></select></div>再准备一些城市相关数据,本实例只列举了少量数量。

如下所示:var data = {"北京市": {"市辖区": ["东城区", "西城区", "朝阳区", "丰台区", "石景山区", "海淀区", "门头沟区", "房山区", "通州区", "顺义区", "昌平区", "大兴区", "怀柔区", "平谷区", "密云区", "延庆区"]},"河北省": {"石家庄市": ["长安区", "桥西区", "新华区", "井陉矿区", "裕华区", "藁城区", "鹿泉区", "栾城区", "井陉县", "正定县", "行唐县", "灵寿县", "高邑县", "深泽县", "赞皇县", "无极县", "平山县", "元氏县", "赵县", "石家庄高新技术产业开发区", "石家庄循环化工园区", "辛集市", "晋州市", "新乐市"],"唐山市": ["路南区", "路北区", "古冶区", "开平区", "丰南区", "丰润区", "曹妃甸区", "滦县", "滦南县", "乐亭县", "迁西县", "玉田县", "唐山市芦台经济技术开发区", "唐山市汉沽管理区", "唐山高新技术产业开发区", "河北唐山海港经济开发区", "遵化市", "迁安市"],"秦皇岛市": ["海港区", "山海关区", "北戴河区", "抚宁区", "青龙满族自治县", "昌黎县", "卢龙县", "秦皇岛市经济技术开发区", "北戴河新区"],"邯郸市": ["邯山区", "丛台区", "复兴区", "峰峰矿区", "肥乡区", "永年区", "临漳县", "成安县", "大名县", "涉县", "磁县", "邱县", "鸡泽县", "广平县", "馆陶县", "魏县", "曲周县", "邯郸经济技术开发区", "邯郸冀南新区", "武安市"],"衡水市": ["桃城区", "冀州区", "枣强县", "武邑县", "武强县", "饶阳县", "安平县", "故城县", "景县", "阜城县", "河北衡水经济开发区", "衡水滨湖新区", "深州市"]},"湖南省": {"长沙市": ["芙蓉区", "天心区", "岳麓区", "开福区", "雨花区", "望城区", "长沙县", "浏阳市", "宁乡市"],"株洲市": ["荷塘区", "芦淞区", "石峰区", "天元区", "株洲县", "攸县", "茶陵县", "炎陵县", "云龙示范区", "醴陵市"],"湘潭市": ["雨湖区", "岳塘区", "湘潭县", "湖南湘潭高新技术产业园区", "湘潭昭山示范区", "湘潭九华示范区", "湘乡市", "韶山市"],"衡阳市": ["珠晖区", "雁峰区", "石鼓区", "蒸湘区", "南岳区", "衡阳县", "衡南县", "衡山县", "衡东县", "祁东县", "衡阳综合保税区", "湖南衡阳高新技术产业园区", "湖南衡阳松木经济开发区", "耒阳市", "常宁市"],},"广东省": {"广州市": ["荔湾区", "越秀区", "海珠区", "天河区", "白云区", "黄埔区", "番禺区", "花都区", "南沙区", "从化区", "增城区"], "韶关市": ["武江区", "浈江区", "曲江区", "始兴县", "仁化县", "翁源县", "乳源瑶族自治县", "新丰县", "乐昌市", "南雄市"],"深圳市": ["罗湖区", "福田区", "南山区", "宝安区", "龙岗区", "盐田区", "龙华区", "坪山区"],"珠海市": ["香洲区", "斗门区", "金湾区"],}};PS:实际工作的数据一般由数据库提供。

【jquery插件】jq_area地区三级联动插件

【jquery插件】jq_area地区三级联动插件

【插件功能】jq_area地区三级联动插件:功能就如插件名显而易见嘛。

【原理】通过循环遍历数组生成相应的option元素。

【演示地址】/jquery_plugs/jq_area/index.html【插件参数】url 数据读取AJAX地址:功能尚未开发cache 城市数据,默认region.js文件provinceId 省份字段ID,默认#provincecityId 城市字段ID,默认#citycountyId 区县字段ID,默认#county【代码】// 基于JQ的地区三级联动//region.js为城市数据文件,调用时需要给cache赋值,如$("#area").area({cache:region}); // 创建一个闭包(function($) {//插件主要内容$.fn.area = function(options) {// 处理默认参数var opts = $.extend({}, $.fn.area.defaults, options);// 保存JQ的连贯操作return this.each(function(){getProvinces();$(opts.provinceId).change(function(){getCities();});$(opts.cityId).change(function(){getCounties();});});//ajax获取地区数据function getData(){//可以通过AJAX把地区数据读取到opts.cache中,数据格式为/*{"provinces2":{"region_id":"2","region_name":"\u5317\u4eac","city":{"cities52":{"region_id":"52","region_name" :"\u5317\u4eac","county":{"counties500":{"region_id":"500","region_name":"\u4e1c\u57ce\u533a"}}} 是一个三维数组的json数据,provinces2为省的id加provinces前缀作为key值;每个省数据中有city城市数据数组,每个城市数据中有county县数据数组*/ }//获取省数据function getProvinces(){var pro = "";$.each(opts.cache, function(i,item){pro += "<option value="+item.region_id+">" + item.region_name + "</option>";});$(opts.provinceId).empty().append(pro);getCities();}//获取城市数据function getCities(){var proIndex = $(opts.provinceId).val();showCities(proIndex);getCounties();}//显示城市数据function showCities(proIndex){var cit = "";if(opts.cache["provinces"+proIndex].city == null){$(opts.cityId).empty();return;}$.each(opts.cache["provinces"+proIndex].city, function(i,item){cit += "<option value="+item.region_id+">" + item.region_name+ "</option>";});$(opts.cityId).empty().append(cit);}//获取县数据function getCounties(){var proIndex = $(opts.provinceId).val();var citIndex = $(opts.cityId).val();showCounties(proIndex,citIndex);}//显示县数据function showCounties(proIndex,citIndex){var cou = "";if(opts.cache["provinces"+proIndex].city["cities"+citIndex].county == null){$(opts.countyId).empty();return;}$.each(opts.cache["provinces"+proIndex].city["cities"+citIndex].county,function(i,item){ cou += "<option value="+item.region_id+">" + item.region_name+ "</option>";});$(opts.countyId).empty().append(cou);}};//插件主要内容结束// 插件的defaults$.fn.area.defaults = {url:'',cache:'',//地区数据provinceId:'#province',cityId:'#city',countyId:'#county'};// 闭包结束})(jQuery);。

js实现简单省市区三级选择联级

js实现简单省市区三级选择联级

js实现简单省市区三级选择联级本⽂实例为⼤家分享了js实现省市区三级选择联级的具体代码,供⼤家参考,具体内容如下代码:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body><select id="province"><option>---请选择---</option></select><select id="city"><option>---请选择---</option></select><select id="area"><option>---请选择---</option></select><script src="addr.js"></script><script src="../lib/jquery-3.3.1.js"></script><script>var pro = [];$(function (){$.each(temp,function (){$("#province").append("<option>"+$(this)[0].label+"</option>");});$("#province").on("change",function (){$("#city").html("<option>"+"---请选择---"+"</option>");$("#area").html("<option>"+"---请选择---"+"</option>")var select_pro = $(this).val();$.each(temp,function (index,element){if (bel == select_pro){var city = element.children;for (let i = 0; i < city.length ; i++) {$("#city").append("<option>"+city[i].label+"</option>");}$("#city").on('change',function (){$("#area").html("<option>"+"---请选择---"+"</option>");var select_city = $(this).val();for (var i=0;i < city.length ; i++){console.log(city[i].label);if (city[i].label == select_city){var area = city[i].children;for (var i=0;i < area.length ; i++){$("#area").append("<option>"+area[i].label+"</option>");}}}});}});});});</script></body></html>以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

jquery+ajax实现省市区三级联动(封装和不封装两种方式)

jquery+ajax实现省市区三级联动(封装和不封装两种方式)

jquery+ajax实现省市区三级联动(封装和不封装两种⽅式)⾸先,要实现如下图效果,1、要理清思路:先做出三个下拉菜单----根据第⼀个下拉菜单的value值获取第⼆个下拉列表的内容,第三个同理。

2、⽤到的数据库表:Chinastates表规律:根据国家级(中国)的areacode查询省级(如:北京) ; 根据省级的areacode查询市级(如:北京市辖);根据市级的areacode查询区级(如东城区)第⼀种⽅式:没有⽤到封装,数据读取较慢,可以看看原理,这样在第⼆种⽅式封装时就容易多了。

代码如下:<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><script src="../jquery-1.11.2.min.js"></script></head><body><select id="sheng"></select><select id="shi"></select><select id="qu"></select></body></html><script type="text/javascript">$(document).ready(function(e){//输出省var code = "0001";$.ajax({async:false,//取消异步url:"chuli.php",data:{code:code},type:"POST",dataType:"TEXT",success:function(data){var hang = data.trim().split("|"); //trim()去空格var str="";for(var i=0;i<hang.length;i++){var lie = hang[i].split("^");str = str+"<option value='"+lie[0]+"'>"+lie[1]+"</option>";}$("#sheng").html(str);}});//输出市$("#sheng").click(function(){var code2=$("#sheng").val();$.ajax({async:false,url:"chuli.php",data:{code:code2},type:"POST",dataType:"TEXT",success:function(data2){var hang2 = data2.trim().split("|");var str2 ="";for(var i=0;i<hang2.length;i++){var lie2=hang2[i].split("^");str2 = str2 +"<option value ='"+lie2[0]+"'>"+lie2[1]+"</option>";}$("#shi").html(str2);}});})//输出区县$("#shi").click(function(){var code3=$("#shi").val();$.ajax({async:false,url:"chuli.php",data:{code:code3},type:"POST",dataType:"TEXT",success:function(data3){var hang3 = data3.split("|");var str3 ="";for(var i=0;i<hang3.length;i++){var lie3=hang3[i].split("^");str3 = str3 +"<option value ='"+lie3[0]+"'>"+lie3[1]+"</option>";}$("#qu").html(str3);}});})})</script> 期间出现的问题:每个下拉列表的第⼀个数据输不出来:是因为每个下拉列表的第⼀个数据的value值都带有空格所以在输出data时要去空格data返回的值可能带有空格换⾏等,所以要⽤trim()⽅法去空格第⼆种⽅式:封装成插件,以后可以随时调⽤(重要)(1)主页⾯:<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><br>//引⼊jquery包<script src="../jquery-1.11.2.min.js"></script><br>//引⽤我们⾃⼰封装的js⽂件<script src="sanji.js"></script></head><body><br>//id要与封装的js插件中⼀致<div id="sanji"></div></body></html>(2)我们⾃⼰封装的js插件$(document).ready(function(e){//扔三个下拉列表到主页⾯建的div中$("#sanji").html("<select id='sheng'></select><select id='shi'></select><select id='qu'></select>"); //加载省的数据LoadSheng();//加载市的数据LoadShi();//加载区的数据LoadQu();//给省的下拉列表添加点击事件,当省变化时,对应的市和区会发⽣变化$("#sheng").click(function(){LoadShi();LoadQu();})//给市的下拉列表添加点击事件,当市变化时,对应的区发⽣变化$("#shi").click(function(){LoadQu();})});//加载省的下拉列表function LoadSheng() {var pcode = "0001";$.ajax({async: false,url: "chuli.php",data: { code: pcode },type: "POST",dataType: "TEXT",success: function(data) {var hang = data.trim().split("|");var str = "";for(var i = 0; i < hang.length; i++) {var lie = hang[i].split("^");str = str + "<option value='" + lie[0] + "'>" + lie[1] + "</option>";}$("#sheng").html(str);}});}//加载市省的下拉列表function LoadShi() {var pcode = $("#sheng").val();$.ajax({async: false,url: "chuli.php",data: { code: pcode },type: "POST",dataType: "TEXT",success: function(data) {var hang = data.trim().split("|");var str = "";for(var i = 0; i < hang.length; i++) {var lie = hang[i].split("^");str = str + "<option value = '" + lie[0] + "'>" + lie[1] + "</option>";}$("#shi").html(str);}});}//加载省的下拉列表function LoadQu() {var pcode = $("#shi").val();$.ajax({url: "chuli.php",data: { code: pcode },type: "POST",dataType: "TEXT",success: function(data) {var hang = data.trim().split("|");var str = "";for(var i = 0; i < hang.length; i++) {var lie = hang[i].split("^");str = str + "<option value = '" + lie[0] + "'>" + lie[1] + "</option>";}$("#qu").html(str);}});} 其次就是处理页⾯(两种⽅法都⽤到的):chuli.php<?php$code=$_POST["code"];require "DB.class.php";$db=new DB();$sql="select areacode,areaname from chinastates where parentareacode='{$code}'";$str=$db->strquery($sql);echo $str;最后就是封装的类⽂件:DB.class.phpfunction strquery($sql){$db = new MySQLi($this->host,$this->uid,$this->pwd,$this->dbname);$result = $db ->query($sql);$arr =$result->fetch_all();$str="";foreach($arr as $v){$str=$str.implode("^",$v)."|";}$str = substr($str,0,strlen($str)-1);return $str;}}>以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

javascript省市区三级联动下拉框菜单实例演示

javascript省市区三级联动下拉框菜单实例演示

javascript省市区三级联动下拉框菜单实例演⽰本⽂实例讲述了javascript实现省市区三级联动下拉框菜单代码,像平时购物选择地址时⼀样,通过选择的省动态加载城市列表,通过选择的城市动态加载县区列表,从⽽可以实现省市县的三级联动,下⾯使⽤原⽣的JavaScript来实现这个功能,分享给⼤家供⼤家参考。

具体如下:运⾏效果截图如下:具体代码如下:<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"><title>三级联动测试</title><script src="jquery-2.1.4.min.js"></script><script type="text/javascript">//⽤来获得option元素中selected属性为true的元素的idfunction Get_Selected_Id(place){var pro = document.getElementById(place);var Selected_Id = pro.options[pro.selectedIndex].id;return Selected_Id; //返回selected属性为true的元素的id}//改变下⼀个级联的option元素的内容,即加载市或县function Get_Next_Place(This_Place_ID,Action){var Selected_Id = Get_Selected_Id(This_Place_ID); //Selected_Id⽤来记录当前被选中的省或市的IDif(Action=='Get_city') //从⽽可以在下⼀个级联中加载相应的市或县Add_city(Selected_Id);else if(Action=='Get_country')Add_country(Selected_Id);}//⽤来存储省市区的数据结构var Place_dict = {"GuangDong":{"GuangZhou":["PanYu","HuangPu","TianHe"],"QingYuan":["QingCheng","YingDe","LianShan"],"FoShan":["NanHai","ShunDe","SanShui"]},"ShanDong":{"JiNan":["LiXia","ShiZhong","TianQiao"],"QingDao":["ShiNan","HuangDao","JiaoZhou"]},"HuNan":{"ChangSha":["KaiFu","YuHua","WangCheng"],"ChenZhou":["BeiHu","SuXian","YongXian"]}};//加载城市选项function Add_city(Province_Selected_Id){$("#city").empty();$("#city").append("<option>City</option>");$("#country").empty();$("#country").append("<option>Country</option>");//上⾯的两次清空与两次添加是为了保持级联的⼀致性var province_dict = Place_dict[Province_Selected_Id]; //获得⼀个省的字典for(city in province_dict){ //取得省的字典中的城市//添加内容的同时在option标签中添加对应的城市IDvar text = "<option"+" id='"+city+"'>"+city+"</option>";$("#city").append(text);console.log(text); //⽤来观察⽣成的text数据}}//加载县区选项function Add_country(City_Selected_Id){$("#country").empty();$("#country").append("<option>Country</option>");//上⾯的清空与添加是为了保持级联的⼀致性var Province_Selected_ID = Get_Selected_Id("province"); //获得被选中省的ID,从⽽⽅便在字典中加载数据var country_list = Place_dict[Province_Selected_ID][City_Selected_Id]; //获得城市列表for(index in country_list){////添加内容的同时在option标签中添加对应的县区IDvar text = "<option"+" id=\'"+country_list[index]+"\'>"+country_list[index]+"</option>";$("#country").append(text);console.log(text); //⽤来观察⽣成的text数据}}</script></head><body><p>您的收货地址:</p><select id="province" onchange="Get_Next_Place('province','Get_city')"><option id="Not_data1">Province</option><option id="GuangDong" value="GuangDong">GuangDong</option><option id="ShanDong" value="ShanDong">ShanDong</option><option id="HuNan" value="HuNan">HuNan</option></select><select id="city" onchange="Get_Next_Place('city','Get_country')"><option id="Not_data2">City</option></select><select id="country"><option id="Not_data3">Country</option></select><br/></body></html>如果⼤家还想深⼊学习,可以点击、进⾏学习。

JavaScript实现三级联动菜单效果

JavaScript实现三级联动菜单效果

JavaScript实现三级联动菜单效果三级联动考察的应该是对于数据的处理,只要清楚其中的关系,再多⼏级都是⼀样的:html部分:<!DOCTYPE html><html><head><meta charset="utf-8" /><title>3级联动菜单</title><script>var region = {⼴东:{"⼴州":["⼴州1","⼴州2","⼴州3"],"珠海":["珠海1","珠海2","珠海3"],"佛⼭":["佛⼭1"]},湖南:{"常德":["⽯门","桃源","临澧","汉寿"],"益阳":["益阳1","益阳2","益阳3"]}}</script></head><body><select id="province" onchange="change(this.value);"><option>请选择省份</option></select><select id="city" onchange="countyChange(this.value);"><option>请选择地市</option></select><select id="county"><option>请选择县城</option></select><script src='test.js'></script></body></html>js部分:var province = document.querySelector("#province");var city = document.querySelector("#city");var county = document.querySelector("#county");//⼆级联动不⽤定义你选的省份,直接⽤省份(key)来决定下⾯的市(value)值var provinceName = null;for (ele in region){var op = new Option(ele , ele , false , false); //new Option("⽂本","值",true,true).后⾯两个true分别表⽰默认被选中和有效 //console.log(op);province.options[province.length] = op;}var change = function(src){city.innerHTML = "";if(src === '请选择省份'){var op = new Option('请选择地市' , '请选择地市' , false , false);city.options[0] = op;}else{for (index in region[src]){//console.log(index);var op = new Option(index , index , false , false);city.options[city.length] = op;}}//记住选择省份的值provinceName=src;countyChange(city.value)}var countyChange = function(src2){county.innerHTML = "";if(src2 === '请选择地市'){var op = new Option('请选择县城','请选择县城', false , false);county.options[0] = op;}else{for (index in region[provinceName][src2]){//console.log(index);var op = new Option(region[provinceName][src2][index] , region[provinceName][src2][index] , false , false); county.options[county.length] = op;}}}以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

基于jquery实现省市区三级联动效果

基于jquery实现省市区三级联动效果

基于jquery实现省市区三级联动效果本⽂实现更新了项⽬的省市区三级联动数据,更新后最新的海南三沙都有,分享给所有需要的⼩伙伴们。

JQUERY + JSON,⽆数据库,纯JS代码,⽆加密,⽆压缩,可直接使⽤在任何项⽬中。

说明:数据来源于国家统计局官⽹。

先上图:绑定省市区使⽤⽅法:1. 引⽤JQUERY<script type="text/javascript" src="/libs/jquery/1.11.1/jquery.min.js"></script>2. 引⽤省市区数据<script type="text/javascript" src="pdata.js"></script>3. HTML代码:<div class="row"><div class="col-sm-12"><div class="form-group"><label class="control-label col-sm-2">所在区域</label><div class="col-sm-3"><select name="input_province" id="input_province" class="form-control"></select></div><div class="col-sm-3"><select name="input_city" id="input_city" class="form-control"></select></div><div class="col-sm-3"><select name="input_area" id="input_area" class="form-control"></select></div></div></div></div>4. JS代码:$(function () {var html = "<option value=''>== 请选择 ==</option>"; $("#input_city").append(html); $("#input_area").append(html);$.each(pdata,function(idx,item){if (parseInt(item.level) == 0) {html += "<option value='" + s + "' exid='" + item.code + "'>" + s + "</option>";}});$("#input_province").append(html);$("#input_province").change(function(){if ($(this).val() == "") return;$("#input_city option").remove(); $("#input_area option").remove();var code = $(this).find("option:selected").attr("exid"); code = code.substring(0,2);var html = "<option value=''>== 请选择 ==</option>"; $("#input_area").append(html);$.each(pdata,function(idx,item){if (parseInt(item.level) == 1 && code == item.code.substring(0,2)) {html += "<option value='" + s + "' exid='" + item.code + "'>" + s + "</option>";}});$("#input_city").append(html);});$("#input_city").change(function(){if ($(this).val() == "") return;$("#input_area option").remove();var code = $(this).find("option:selected").attr("exid"); code = code.substring(0,4);var html = "<option value=''>== 请选择 ==</option>";$.each(pdata,function(idx,item){if (parseInt(item.level) == 2 && code == item.code.substring(0,4)) {html += "<option value='" + s + "' exid='" + item.code + "'>" + s + "</option>"; }});$("#input_area").append(html);});//绑定$("#input_province").val("⼴东省");$("#input_province").change();$("#input_city").val("深圳市");$("#input_city").change();$("#input_area").val("罗湖区");});源码下载:以上就是本⽂的全部内容,希望对⼤家的学习有所帮助。

JavaScript实现省市区三级联动

JavaScript实现省市区三级联动

JavaScript实现省市区三级联动本⽂实例为⼤家分享了JavaScript实现省市区三级联动的具体代码,供⼤家参考,具体内容如下⾸先是js$(document).ready(function(){getErpMarketByParentCode(0,'province',province);getErpMarketByParentCode(province,'city',city);getErpMarketByParentCode(city,'area',area);getErpMarketByParentCode(area,'market',market);$('#city').append($('<option>').val('').html('-请选择-')).val('');$('#area').append($('<option>').val('').html('-请选择-')).val('');if($('#market')){$('#market').append($('<option>').val('').html('-请选择-')).val('');}$('#province').change(function(){if($(this).val() == ''){ // 请选择$('#city').empty();$('#area').empty();$('#city').append($('<option>').val('').html('-请选择-')).val('');$('#area').append($('<option>').val('').html('-请选择-')).val('');if($('#market')){$('#market').empty();$('#market').append($('<option>').val('').html('-请选择-')).val('');}return;}getErpMarketByParentCode($(this).val(),'city');$('#area').empty();$('#area').append($('<option>').val('').html('-请选择-')).val('');});$('#city').change(function(){getErpMarketByParentCode($(this).val(),'area');if($('#market')){$('#market').empty();$('#market').append($('<option>').val('').html('-请选择-')).val('');}});$('#area').change(function(){getErpMarketByParentCode($(this).val(),'market');});});function getErpMarketByParentCode(parentCode, id, value){$.ajax({url:'/getErpMarketByParentCode',type:'post',data:{code:parentCode},dataType : 'json',error:function(){alert('error');},success:function(data){var select = $('#' + id);if(select){select.empty();select.append($('<option>').val('').html('-请选择-'));$.each(data.erpMarketList,function(i, erpMarket){select.append($('<option>').val(erpMarket.code).html());});select.val(value);}}});}然后是后台⽅法@RequestMapping(value = "/getErpMarketByParentCode")public ModelAndView getErpMarketByParentCode(HttpServletRequest request, HttpServletResponse response) throws Exception { String code = request.getParameter("code");List<ErpMarket> erpMarketList = erpMarketService.getErpMarketListByParentCode(code);JSONObject jsonObject = new JSONObject();jsonObject.put("erpMarketList",erpMarketList);response.getWriter().write(jsonObject.toString());return null;}service⽅法,是从内从中获取省市区这张表public List<ErpMarket> getErpMarketListByParentCode(String parentCode){Hashtable erpMarketTable = LoadOnStartService.erpMarketTable;//从内存中获取这张表List<ErpMarket> erpMarketList = new ArrayList<ErpMarket>();Iterator its = erpMarketTable.keySet().iterator();while(its.hasNext()){String key = Util.getString(its.next());ErpMarket erpMarket = (ErpMarket)erpMarketTable.get(key);if(parentCode.equals(erpMarket.getParentCode())){erpMarketList.add(erpMarket);}}return erpMarketList;}省市区的实体类package com.erp.entity;/*** ErpMarket entity.** @author MyEclipse Persistence Tools*/public class ErpMarket implements java.io.Serializable {// Fieldsprivate String code;private String shortCode;private String name;private String level;private String parentCode;// Constructors/** default constructor */public ErpMarket() {}/** full constructor */public ErpMarket(String shortCode, String name, String level, String parentCode) {this.shortCode = shortCode; = name;this.level = level;this.parentCode = parentCode;}// Property accessorspublic String getCode() {return this.code;}public void setCode(String code) {this.code = code;}public String getShortCode() {return this.shortCode;}public void setShortCode(String shortCode) {this.shortCode = shortCode;}public String getName() {return ;}public void setName(String name) { = name;}public String getLevel() {return this.level;}public void setLevel(String level) {this.level = level;}public String getParentCode() {return this.parentCode;}public void setParentCode(String parentCode) {this.parentCode = parentCode;}}以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

省 市 区县三级联动选择div css jq

省 市 区县三级联动选择div css jq

省市区县三级联动选择div css jq
收货所在填写决意殊效,实行div css jq所在所在位子下拉特效,省、市、区县三级联动抉择所在区域区域网页特效,挑选省踊跃跳转抉择对
应市,选中市主动跳转决意区县的所在区域殊效。

一个输出框下便可决议弹出联动所在地区打算的特效,相像京东、淘宝收货所在填写殊效。

所在区域地址打算 jq特效
修改都会称说地点:只需求批改js/cityJson.js
input表单输出框,颠末ID(id=&quot;city&quot;)挪用地域决议弹窗。

css和特效JS离散,或者修改css到达周边决意排版功效。

第1页共3页。

记录地区三级联动查询

记录地区三级联动查询

记录地区三级联动查询先是前台展⽰效果:点击省份时,城市和区域也变化点击城市时,区域发⽣变化代码:以新增地址作为例⼦1 @RequestMapping("/addAddress")2public String addAddress(HttpServletRequest request, ModelMap modelMap, HttpServletResponse response) {3//查出所有省份4 List<Map<String, Object>> provinceList = addressService.getAllRegion();5 modelMap.put("provinceList", provinceList);6return "wx/me/my_details_address_editor";7 }sql语句和数据库数据:<select id="getAllRegion" resultType="java.util.Map">select id as id, area_name as name from eb_area where level=1</select>查询出所有省份在前台页⾯展⽰,此时页⾯中只有省份可以选择前台代码:12 <form action="<%=basePath%>wx/me/saveAddress" method="POST" id="addAddressForm">3 <div class="myDtl_cnt_list">4 <div class="g-line g-clear">5 <h5 class="fl">姓名</h5>67 <div class="fr">8 <input class="myDtlIdy_input" style="" type="text" placeholder="请输⼊您的姓名" name="aName">9 </div>10 </div>11 <div class="g-line g-clear">12 <h5 class="fl">⼿机号码</h5>1314 <div class="fr">15 <input class="myDtlIdy_input" style="" type="text" placeholder="请输⼊您的⼿机号码" name="aPhone">16 </div>17 </div>18 <div class="g-line g-clear">19 <h5 class="fl">所在地区</h5>2021 <div class="fr">22 <label>23 <select style="line-height:1rem;height:2rem;width:5rem;border:none;" id="province2"24 name="provinceId">25 <option>选择省份</option>26 <c:forEach items="${provinceList}" var="province">27 <option value="${province.id}">${}</option>28 </c:forEach>29 <option>选择省份</option>30 </select>313233 <select style="line-height:1rem;height:2rem;width:5rem;border:none;" id="city2"34 name="cityId">35 <option value="">选择城市</option>36 </select>373839 <select style="line-height:1rem;height:2rem;width:5rem;border:none;" id="area2"40 name="areaId">41 <option value="">选择区域</option>42 </select>4344 </label>45 </div>46 </div>47 <label class="ml-row19 g-mt1">48 <textarea style="width:19rem;" name="aAddress" id="aAddress"></textarea>49 </label>50 </div>51 <div class="myDtlALL_ok"><a class="lgi_btn g-btn-crimson" href="javascript:void(0);"52 id="addAddress">保存</a></div>53 </form>54<script type="text/javascript">$("#addAddress").click(function () {$("#addAddressForm").submit();})//所在区域联动列表setup("province2", "city2", "area2");//下⾯有加载的js代码,定义⼀个通⽤⽅法,⽤于联动查询function setup(p, c, a) {$("#" + p + "").click(function () {province(p, c, a) //点击省份时联动查询省份,城市,区域⽅法});$("#" + c + "").click(function () {city(c, a); //点击城市的时候联动查询城市,区域的⽅法});}function province(p, c, a) {$.ajax({url: "<%=basePath%>wx/me/getCityByProvinceId?id=" + $("#" + p + "").val(),type: "POST",dataType: 'json',success: function (data) {$("#" + c + "").empty(); //清空下拉列表$.each($.parseJSON(data), function (i, json) { //$.parseJSON⽤于格式化json数据$("#" + c + "").append(" <option value='" + json.id + "'>" + + "</option>");//增加城市的数据 });city(c, a); }});}function city(c, a) {$.ajax({url: "<%=basePath%>wx/me/getAreaByCityId?id=" + $("#" + c + "").val(),type: "POST",dataType: 'json',success: function (data) {$("#" + a + "").empty(); //清空下拉列表$.each($.parseJSON(data), function (i, item) {$("#" + a + "").append(" <option value='" + item.id + "'>" + + "</option>");//增加区域的数据 });}});}</script>联动查询的后台代码:@RequestMapping("/getCityByProvinceId")@ResponseBodypublic String getCityByProvinceId(Integer id, HttpServletResponse response) {//根据省份id查询城市List<Map<String, Object>> cityList = addressService.getAllCitys(id);String json = JSON.toJSONString(cityList);return json;}@RequestMapping("/getAreaByCityId")@ResponseBodypublic String getAreaByCityId(Integer id, HttpServletResponse response) {//根据城市id查询地区List<Map<String, Object>> areaList = addressService.getAreaByCityId(id);String json = JSON.toJSONString(areaList);return json;}联动查询的sql语句:<select id="getAllCitys" resultType="java.util.Map" parameterType="ng.Integer">select id as id,area_name as name from eb_area where level=2 and parent_id =#{id} </select><select id="getAreaByCityId" resultType="java.util.Map" parameterType="ng.Integer"> select id as id,area_name as name from eb_area where level=3 and parent_id =#{id} </select>。

全国地区选择(三级联动)

全国地区选择(三级联动)

全国地区选择(三级联动)1、新建HTML⽂件,引⼊必须的js⽂件。

<script src="../js/jquery.min.js"></script> //⾃⾏引⼊<script src="../js/Area.js"></script><script src="../js/AreaData_min.js"></script>Area.js:1// 地址选择三级联动2 $(function (){3 initComplexArea('seachprov', 'seachcity', 'seachdistrict', area_array, sub_array, '0', '0', '0');4 });5//得到地区码6function getAreaID(){7var area = 0;8if($("#seachdistrict").val() != "0"){9 area = $("#seachdistrict").val();10 }else if ($("#seachcity").val() != "0"){11 area = $("#seachcity").val();12 }else{13 area = $("#seachprov").val();14 }15return area;16 }17function showAreaID() {18//地区码19var areaID = getAreaID();20//地区名21var areaName = getAreaNamebyID(areaID) ;22 }23//根据地区码查询地区名24function getAreaNamebyID(areaID){25var areaName = "";26if(areaID.length == 2){27 areaName = area_array[areaID];28 }else if(areaID.length == 4){29var index1 = areaID.substring(0, 2);30 areaName = area_array[index1] + " " + sub_array[index1][areaID];31 }else if(areaID.length == 6){32var index1 = areaID.substring(0, 2);33var index2 = areaID.substring(0, 4);34 areaName = area_array[index1] + " " + sub_array[index1][index2] + " " + sub_arr[index2][areaID];35 }36return areaName;37 }38function initComplexArea(a, k, h, p, q, d, b, l) {39var f = initComplexArea.arguments;40var m = document.getElementById(a);41var o = document.getElementById(k);42var n = document.getElementById(h);43var e = 0;44var c = 0;45if (p != undefined) {46if (d != undefined) {47 d = parseInt(d);48 }49else {50 d = 0;51 }52if (b != undefined) {53 b = parseInt(b);54 }55else {56 b = 0;57 }58if (l != undefined) {59 l = parseInt(l);60 }61else {62 l = 063 }64 n[0] = new Option("请选择 ", 0);65for (e = 0; e < p.length; e++) {66if (p[e] == undefined) {67continue;68 }69if (f[6]) {70if (f[6] == true) {71if (e == 0) {72continue73 }74 }75 }76 m[c] = new Option(p[e], e);77if (d == e) {78 m[c].selected = true;79 }80 c++81 }82if (q[d] != undefined) {87if ((e % 100) == 0) { continue }88 }89 } o[c] = new Option(q[d][e], e);90if (b == e) { o[c].selected = true } c++91 }92 }93 }94 }95function changeComplexProvince(f, k, e, d) {96var c = changeComplexProvince.arguments; var h = document.getElementById(e);97var g = document.getElementById(d); var b = 0; var a = 0; removeOptions(h); f = parseInt(f);98if (k[f] != undefined) {99for (b = 0; b < k[f].length; b++) {100if (k[f][b] == undefined) { continue }101if (c[3]) { if ((c[3] == true) && (f != 71) && (f != 81) && (f != 82)) { if ((b % 100) == 0) { continue } } } 102 h[a] = new Option(k[f][b], b); a++103 }104 }105 removeOptions(g); g[0] = new Option("请选择 ", 0);106if (f == 11 || f == 12 || f == 31 || f == 71 || f == 50 || f == 81 || f == 82) {107if ($("#" + d + "_div"))108 { $("#" + d + "_div").hide(); }109 }110else {111if ($("#" + d + "_div")) { $("#" + d + "_div").show(); }112 }113 }114115116function changeCity(c, a, t) {117 $("#" + a).html('<option value="0" >请选择</option>');118 $("#" + a).unbind("change");119 c = parseInt(c);120var _d = sub_arr[c];121var str = "";122if (_d) {123 str += "<option value='0' >请选择</option>";124for (var i = c * 100; i < _d.length; i++) {125if (_d[i] == undefined) continue;126 str += "<option value='" + i + "' >" + _d[i] + "</option>";127 }128 $("#" + a).html(str);129 }130131 }132133function removeOptions(c) {134if ((c != undefined) && (c.options != undefined)) {135var a = c.options.length;136for (var b = 0; b < a; b++) {137 c.options[0] = null;138 }139 }140 }AreaData_min.js:var area_array=[];var sub_array=[];area_array[0] = "请选择";sub_array[0]=[];sub_array[0][0]="请选择";area_array[11]="北京市";sub_array[11]=[];sub_array[11][0]="请选择";sub_array[11][1101]="东城区";sub_array[11][1102]="西城区";sub_array[11][1103]="崇⽂区";sub_array[11][1104]="宣武区";sub_array[11][1105]="朝阳区";sub_array[11][1106]="丰台区";sub_array[11][1107]="⽯景⼭区";sub_array[11][1108]="海淀区";sub_array[11][1109]="门头沟区";sub_array[11][1111]="房⼭区";sub_array[11][1112]="通州区";sub_array[11][1113]="顺义区";sub_array[11][1114]="昌平区";sub_array[11][1115]="⼤兴区";sub_array[11][1116]="怀柔区";sub_array[11][1117]="平⾕区";sub_array[11][1128]="密云县";sub_array[11][1129]="延庆县";area_array[12]="天津市";sub_array[12]=[];sub_array[12][0]="请选择";sub_array[12][1201]="和平区";sub_array[12][1202]="河东区";sub_array[12][1203]="河西区";sub_array[12][1204]="南开区";sub_array[12][1205]="河北区";sub_array[12][1206]="红桥区";sub_array[12][1207]="塘沽区";sub_array[12][1208]="汉沽区";sub_array[12][1223]="静海县";sub_array[12][1225]="蓟县";area_array[13]="河北省";sub_array[13]=[];sub_array[13][0]="请选择";sub_array[13][1301]="⽯家庄市"; sub_array[13][1302]="唐⼭市";sub_array[13][1303]="秦皇岛市"; sub_array[13][1304]="邯郸市";sub_array[13][1305]="邢台市";sub_array[13][1306]="保定市";sub_array[13][1307]="张家⼝市"; sub_array[13][1308]="承德市";sub_array[13][1309]="沧州市";sub_array[13][1310]="廊坊市";sub_array[13][1311]="衡⽔市";area_array[14]="⼭西省";sub_array[14]=[];sub_array[14][0]="请选择";sub_array[14][1401]="太原市";sub_array[14][1402]="⼤同市";sub_array[14][1403]="阳泉市";sub_array[14][1404]="长治市";sub_array[14][1405]="晋城市";sub_array[14][1406]="朔州市";sub_array[14][1407]="晋中市";sub_array[14][1408]="运城市";sub_array[14][1409]="忻州市";sub_array[14][1410]="临汾市";sub_array[14][1411]="吕梁市";area_array[15]="内蒙古";sub_array[15]=[];sub_array[15][0]="请选择";sub_array[15][1501]="呼和浩特市"; sub_array[15][1502]="包头市";sub_array[15][1503]="乌海市";sub_array[15][1504]="⾚峰市";sub_array[15][1505]="通辽市";sub_array[15][1506]="鄂尔多斯市"; sub_array[15][1507]="呼伦贝尔市"; sub_array[15][1508]="巴彦淖尔市"; sub_array[15][1509]="乌兰察布市"; sub_array[15][1522]="兴安盟";sub_array[15][1525]="锡林郭勒盟"; sub_array[15][1529]="阿拉善盟"; area_array[21]="辽宁省";sub_array[21]=[];sub_array[21][0]="请选择";sub_array[21][2101]="沈阳市";sub_array[21][2102]="⼤连市";sub_array[21][2103]="鞍⼭市";sub_array[21][2104]="抚顺市";sub_array[21][2105]="本溪市";sub_array[21][2106]="丹东市";sub_array[21][2107]="锦州市";sub_array[21][2108]="营⼝市";sub_array[21][2109]="⾩新市";sub_array[21][2110]="辽阳市";sub_array[21][2111]="盘锦市";sub_array[21][2112]="铁岭市";sub_array[21][2113]="朝阳市";sub_array[21][2114]="葫芦岛市"; area_array[22]="吉林省";sub_array[22]=[];sub_array[22][0]="请选择";sub_array[22][2201]="长春市";sub_array[22][2202]="吉林市";sub_array[22][2203]="四平市";sub_array[22][2204]="辽源市";sub_array[22][2205]="通化市";sub_array[22][2206]="⽩⼭市";sub_array[22][2207]="松原市";sub_array[22][2208]="⽩城市";sub_array[22][2224]="延边州";area_array[23]="⿊龙江省";sub_array[23]=[];sub_array[23][0]="请选择";sub_array[23][2301]="哈尔滨市"; sub_array[23][2302]="齐齐哈尔市"; sub_array[23][2303]="鸡西市";sub_array[23][2304]="鹤岗市";sub_array[23][2305]="双鸭⼭市"; sub_array[23][2306]="⼤庆市";sub_array[23][2307]="伊春市";sub_array[23][2308]="佳⽊斯市"; sub_array[23][2309]="七台河市"; sub_array[23][2310]="牡丹江市"; sub_array[23][2311]="⿊河市";sub_array[23][2312]="绥化市";sub_array[23][2327]="⼤兴安岭地区";sub_array[31][3108]="闸北区"; sub_array[31][3109]="虹⼝区"; sub_array[31][3110]="杨浦区"; sub_array[31][3112]="闵⾏区"; sub_array[31][3113]="宝⼭区"; sub_array[31][3114]="嘉定区"; sub_array[31][3115]="浦东新区"; sub_array[31][3116]="⾦⼭区"; sub_array[31][3117]="松江区"; sub_array[31][3118]="青浦区"; sub_array[31][3120]="奉贤区"; sub_array[31][3130]="崇明县"; area_array[32]="江苏省";sub_array[32]=[];sub_array[32][0]="请选择";sub_array[32][3201]="南京市"; sub_array[32][3202]="⽆锡市"; sub_array[32][3203]="徐州市"; sub_array[32][3204]="常州市"; sub_array[32][3205]="苏州市"; sub_array[32][3206]="南通市"; sub_array[32][3207]="连云港市"; sub_array[32][3208]="淮安市"; sub_array[32][3209]="盐城市"; sub_array[32][3210]="扬州市"; sub_array[32][3211]="镇江市"; sub_array[32][3212]="泰州市"; sub_array[32][3213]="宿迁市"; area_array[33]="浙江省";sub_array[33]=[];sub_array[33][0]="请选择";sub_array[33][3301]="杭州市"; sub_array[33][3302]="宁波市"; sub_array[33][3303]="温州市"; sub_array[33][3304]="嘉兴市"; sub_array[33][3305]="湖州市"; sub_array[33][3306]="绍兴市"; sub_array[33][3307]="⾦华市"; sub_array[33][3308]="衢州市"; sub_array[33][3309]="⾈⼭市"; sub_array[33][3310]="台州市"; sub_array[33][3311]="丽⽔市"; area_array[34]="安徽省";sub_array[34]=[];sub_array[34][0]="请选择";sub_array[34][3401]="合肥市"; sub_array[34][3402]="芜湖市"; sub_array[34][3403]="蚌埠市"; sub_array[34][3404]="淮南市"; sub_array[34][3405]="马鞍⼭市"; sub_array[34][3406]="淮北市"; sub_array[34][3407]="铜陵市"; sub_array[34][3408]="安庆市"; sub_array[34][3410]="黄⼭市"; sub_array[34][3411]="滁州市"; sub_array[34][3412]="⾩阳市"; sub_array[34][3413]="宿州市"; sub_array[34][3414]="巢湖市"; sub_array[34][3415]="六安市"; sub_array[34][3416]="亳州市"; sub_array[34][3417]="池州市"; sub_array[34][3418]="宣城市"; area_array[35]="福建省";sub_array[35]=[];sub_array[35][0]="请选择";sub_array[35][3501]="福州市"; sub_array[35][3502]="厦门市"; sub_array[35][3503]="莆⽥市"; sub_array[35][3504]="三明市"; sub_array[35][3505]="泉州市"; sub_array[35][3506]="漳州市"; sub_array[35][3507]="南平市"; sub_array[35][3508]="龙岩市"; sub_array[35][3509]="宁德市"; area_array[36]="江西省";sub_array[36]=[];sub_array[36][0]="请选择";sub_array[36][3601]="南昌市"; sub_array[36][3602]="景德镇市"; sub_array[36][3603]="萍乡市"; sub_array[36][3604]="九江市"; sub_array[36][3605]="新余市"; sub_array[36][3606]="鹰潭市"; sub_array[36][3607]="赣州市"; sub_array[36][3608]="吉安市"; sub_array[36][3609]="宜春市"; sub_array[36][3610]="抚州市"; sub_array[36][3611]="上饶市"; area_array[37]="⼭东省";sub_array[37]=[];sub_array[37][3708]="济宁市"; sub_array[37][3709]="泰安市"; sub_array[37][3710]="威海市"; sub_array[37][3711]="⽇照市"; sub_array[37][3712]="莱芜市"; sub_array[37][3713]="临沂市"; sub_array[37][3714]="德州市"; sub_array[37][3715]="聊城市"; sub_array[37][3716]="滨州市"; sub_array[37][3717]="菏泽市"; area_array[41]="河南省";sub_array[41]=[];sub_array[41][0]="请选择";sub_array[41][4101]="郑州市"; sub_array[41][4102]="开封市"; sub_array[41][4103]="洛阳市"; sub_array[41][4104]="平顶⼭市"; sub_array[41][4105]="安阳市"; sub_array[41][4106]="鹤壁市"; sub_array[41][4107]="新乡市"; sub_array[41][4108]="焦作市"; sub_array[41][4109]="濮阳市"; sub_array[41][4110]="许昌市"; sub_array[41][4111]="漯河市"; sub_array[41][4112]="三门峡市"; sub_array[41][4113]="南阳市"; sub_array[41][4114]="商丘市"; sub_array[41][4115]="信阳市"; sub_array[41][4116]="周⼝市"; sub_array[41][4117]="驻马店市"; sub_array[41][4118]="济源市"; area_array[42]="湖北省";sub_array[42]=[];sub_array[42][0]="请选择";sub_array[42][4201]="武汉市"; sub_array[42][4202]="黄⽯市"; sub_array[42][4203]="⼗堰市"; sub_array[42][4205]="宜昌市"; sub_array[42][4206]="襄阳市"; sub_array[42][4207]="鄂州市"; sub_array[42][4208]="荆门市"; sub_array[42][4209]="孝感市"; sub_array[42][4210]="荆州市"; sub_array[42][4211]="黄冈市"; sub_array[42][4212]="咸宁市"; sub_array[42][4213]="随州市"; sub_array[42][4228]="恩施州"; sub_array[42][4229]="仙桃市"; sub_array[42][4230]="潜江市"; sub_array[42][4231]="天门市"; sub_array[42][4232]="神农架"; sub_array[42][4233]="江汉油⽥"; area_array[43]="湖南省";sub_array[43]=[];sub_array[43][0]="请选择";sub_array[43][4301]="长沙市"; sub_array[43][4302]="株洲市"; sub_array[43][4303]="湘潭市"; sub_array[43][4304]="衡阳市"; sub_array[43][4305]="邵阳市"; sub_array[43][4306]="岳阳市"; sub_array[43][4307]="常德市"; sub_array[43][4308]="张家界市"; sub_array[43][4309]="益阳市"; sub_array[43][4310]="郴州市"; sub_array[43][4311]="永州市"; sub_array[43][4312]="怀化市"; sub_array[43][4313]="娄底市"; sub_array[43][4331]="湘西"; area_array[44]="⼴东省";sub_array[44]=[];sub_array[44][0]="请选择";sub_array[44][4401]="⼴州市"; sub_array[44][4402]="韶关市"; sub_array[44][4403]="深圳市"; sub_array[44][4404]="珠海市"; sub_array[44][4405]="汕头市"; sub_array[44][4406]="佛⼭市"; sub_array[44][4407]="江门市"; sub_array[44][4408]="湛江市"; sub_array[44][4409]="茂名市"; sub_array[44][4412]="肇庆市"; sub_array[44][4413]="惠州市"; sub_array[44][4414]="梅州市"; sub_array[44][4415]="汕尾市"; sub_array[44][4416]="河源市"; sub_array[44][4417]="阳江市"; sub_array[44][4418]="清远市"; sub_array[44][4419]="东莞市"; sub_array[44][4420]="中⼭市";sub_array[45]=[];sub_array[45][0]="请选择";sub_array[45][4501]="南宁市";sub_array[45][4502]="柳州市";sub_array[45][4503]="桂林市";sub_array[45][4504]="梧州市";sub_array[45][4505]="北海市";sub_array[45][4506]="防城港市";sub_array[45][4507]="钦州市";sub_array[45][4508]="贵港市";sub_array[45][4509]="⽟林市";sub_array[45][4510]="百⾊市";sub_array[45][4511]="贺州市";sub_array[45][4512]="河池市";sub_array[45][4513]="来宾市";sub_array[45][4514]="崇左市";area_array[46]="海南省";sub_array[46]=[];sub_array[46][0]="请选择";sub_array[46][4601]="海⼝市";sub_array[46][4602]="三亚市";sub_array[46][4603]="五指⼭市";sub_array[46][4604]="琼海市";sub_array[46][4605]="儋州市";sub_array[46][4607]="⽂昌市";sub_array[46][4608]="万宁市";sub_array[46][4609]="东⽅市";sub_array[46][4623]="定安县";sub_array[46][4624]="屯昌县";sub_array[46][4625]="澄迈县";sub_array[46][4626]="临⾼县";sub_array[46][4627]="⽩沙";sub_array[46][4628]="昌江";sub_array[46][4629]="乐东";sub_array[46][4630]="陵⽔";sub_array[46][4631]="保亭";sub_array[46][4632]="琼中";sub_array[46][4690]="洋浦经济开发区";area_array[50]="重庆市";sub_array[50]=[];sub_array[50][0]="请选择";sub_array[50][5001]="万州区";sub_array[50][5002]="涪陵区";sub_array[50][5003]="渝中区";sub_array[50][5004]="⼤渡⼝区";sub_array[50][5005]="江北区";sub_array[50][5006]="沙坪坝区";sub_array[50][5007]="九龙坡区";sub_array[50][5008]="南岸区";sub_array[50][5009]="北碚区";sub_array[50][5010]="万盛区";sub_array[50][5011]="双桥区";sub_array[50][5012]="渝北区";sub_array[50][5013]="巴南区";sub_array[50][5014]="黔江区";sub_array[50][5015]="长寿区";sub_array[50][5016]="江津区";sub_array[50][5017]="合川区";sub_array[50][5019]="南川区";sub_array[50][5022]="綦江县";sub_array[50][5023]="潼南县";sub_array[50][5024]="铜梁县";sub_array[50][5025]="⼤⾜县";sub_array[50][5026]="荣昌县";sub_array[50][5027]="璧⼭县";sub_array[50][5028]="梁平县";sub_array[50][5029]="城⼝县";sub_array[50][5030]="丰都县";sub_array[50][5031]="垫江县";sub_array[50][5032]="武隆县";sub_array[50][5033]="忠县";sub_array[50][5034]="开县";sub_array[50][5035]="云阳县";sub_array[50][5036]="奉节县";sub_array[50][5037]="巫⼭县";sub_array[50][5038]="巫溪县";sub_array[50][5040]="⽯柱⼟家族⾃治县"; sub_array[50][5041]="秀⼭⼟家族苗族⾃治县"; sub_array[50][5042]="⾣阳⼟家族苗族⾃治县"; sub_array[50][5043]="彭⽔苗族⼟家族⾃治县"; sub_array[50][5083]="永川区";sub_array[50][5084]="北部新区";area_array[51]="四川省";sub_array[51]=[];sub_array[51][0]="请选择";sub_array[51][5101]="成都市";sub_array[51][5103]="⾃贡市";sub_array[51][5104]="攀枝花市";sub_array[51][5105]="泸州市";sub_array[51][5106]="德阳市";sub_array[51][5107]="绵阳市";sub_array[51][5108]="⼴元市";sub_array[51][5109]="遂宁市";sub_array[51][5110]="内江市";sub_array[51][5117]="达州市"; sub_array[51][5118]="雅安市"; sub_array[51][5119]="巴中市"; sub_array[51][5120]="资阳市"; sub_array[51][5132]="阿坝州"; sub_array[51][5133]="⽢孜";sub_array[51][5134]="凉⼭";area_array[52]="贵州省";sub_array[52]=[];sub_array[52][0]="请选择";sub_array[52][5201]="贵阳市"; sub_array[52][5202]="六盘⽔市"; sub_array[52][5203]="遵义市"; sub_array[52][5204]="安顺市"; sub_array[52][5205]="毕节市"; sub_array[52][5206]="铜仁市"; sub_array[52][5223]="黔西南"; sub_array[52][5226]="黔东南"; sub_array[52][5227]="黔南布"; area_array[53]="云南省";sub_array[53]=[];sub_array[53][0]="请选择";sub_array[53][5301]="昆明市"; sub_array[53][5303]="曲靖市"; sub_array[53][5304]="⽟溪市"; sub_array[53][5305]="保⼭市"; sub_array[53][5306]="昭通市"; sub_array[53][5307]="丽江市"; sub_array[53][5308]="普洱市(*)"; sub_array[53][5309]="临沧市"; sub_array[53][5323]="楚雄";sub_array[53][5325]="红河";sub_array[53][5326]="⽂⼭";sub_array[53][5328]="西双版纳"; sub_array[53][5329]="⼤理";sub_array[53][5331]="德宏";sub_array[53][5333]="怒江";sub_array[53][5334]="迪庆";area_array[54]="西藏";sub_array[54]=[];sub_array[54][0]="请选择";sub_array[54][5401]="拉萨市"; sub_array[54][5421]="昌都地区"; sub_array[54][5422]="⼭南地区"; sub_array[54][5423]="⽇喀则地区"; sub_array[54][5424]="那曲地区"; sub_array[54][5425]="阿⾥地区"; sub_array[54][5426]="林芝地区"; area_array[61]="陕西省";sub_array[61]=[];sub_array[61][0]="请选择";sub_array[61][6101]="西安市"; sub_array[61][6102]="铜川市"; sub_array[61][6103]="宝鸡市"; sub_array[61][6104]="咸阳市"; sub_array[61][6105]="渭南市"; sub_array[61][6106]="延安市"; sub_array[61][6107]="汉中市"; sub_array[61][6108]="榆林市"; sub_array[61][6109]="安康市"; sub_array[61][6110]="商洛市"; sub_array[61][6151]="杨凌⽰范区"; area_array[62]="⽢肃省";sub_array[62]=[];sub_array[62][0]="请选择";sub_array[62][6201]="兰州市"; sub_array[62][6202]="嘉峪关市"; sub_array[62][6203]="⾦昌市"; sub_array[62][6204]="⽩银市"; sub_array[62][6205]="天⽔市"; sub_array[62][6206]="武威市"; sub_array[62][6207]="张掖市"; sub_array[62][6208]="平凉市"; sub_array[62][6209]="酒泉市"; sub_array[62][6210]="庆阳市"; sub_array[62][6211]="定西市"; sub_array[62][6212]="陇南市"; sub_array[62][6229]="临夏";sub_array[62][6230]="⽢南";area_array[63]="青海省";sub_array[63]=[];sub_array[63][0]="请选择";sub_array[63][6301]="西宁市"; sub_array[63][6321]="海东地区"; sub_array[63][6322]="海北";sub_array[63][6323]="黄南";sub_array[63][6325]="海南";sub_array[63][6326]="果洛";sub_array[63][6327]="⽟树";sub_array[63][6328]="海西";area_array[64]="宁夏";sub_array[64]=[];sub_array[64][0]="请选择";area_array[65]="新疆";sub_array[65]=[];sub_array[65][0]="请选择";sub_array[65][6501]="乌鲁⽊齐市";sub_array[65][6502]="克拉玛依市";sub_array[65][6521]="吐鲁番地区";sub_array[65][6522]="哈密地区";sub_array[65][6523]="昌吉";sub_array[65][6527]="博尔塔拉";sub_array[65][6528]="巴⾳郭楞";sub_array[65][6529]="阿克苏地区";sub_array[65][6530]="克孜勒";sub_array[65][6531]="喀什地区";sub_array[65][6532]="和⽥地区";sub_array[65][6540]="伊犁";sub_array[65][6542]="塔城地区";sub_array[65][6543]="阿勒泰地区";sub_array[65][6590]="⾃治区直辖县级⾏政单位"; area_array[71]="台湾省";sub_array[71]=[];sub_array[71][0]="请选择";sub_array[71][7101]="台北市";sub_array[71][7102]="⾼雄市";sub_array[71][7103]="基隆市";sub_array[71][7104]="台中市";sub_array[71][7105]="台南市";sub_array[71][7106]="新⽵市";sub_array[71][7107]="嘉义市";sub_array[71][7108]="台北县";sub_array[71][7109]="宜兰县";sub_array[71][7110]="新⽵县";sub_array[71][7111]="桃园县";sub_array[71][7112]="苗栗县";sub_array[71][7113]="台中县";sub_array[71][7114]="彰化县";sub_array[71][7115]="南投县";sub_array[71][7116]="嘉义县";sub_array[71][7117]="云林县";sub_array[71][7118]="台南县";sub_array[71][7119]="⾼雄县";sub_array[71][7120]="屏东县";sub_array[71][7121]="台东县";sub_array[71][7122]="花莲县";sub_array[71][7123]="澎湖县";area_array[81]="⾹港";sub_array[81]=[];sub_array[81][0]="请选择";sub_array[81][8101]="中西区";sub_array[81][8102]="东区";sub_array[81][8103]="九龙城区";sub_array[81][8104]="观塘区";sub_array[81][8105]="南区";sub_array[81][8106]="深⽔区";sub_array[81][8107]="湾仔区";sub_array[81][8108]="黄⼤仙区";sub_array[81][8109]="油尖旺区";sub_array[81][8110]="离岛区";sub_array[81][8111]="葵青区";sub_array[81][8112]="北区";sub_array[81][8113]="西贡区";sub_array[81][8114]="沙⽥区";sub_array[81][8115]="屯门区";sub_array[81][8116]="⼤埔区";sub_array[81][8117]="荃湾区";sub_array[81][8118]="元朗区";area_array[82]="澳门";sub_array[82]=[];sub_array[82][0]="请选择";sub_array[82][8201]="花地玛堂区";sub_array[82][8202]="圣安多尼堂区";sub_array[82][8203]="⼤堂区";sub_array[82][8204]="望德堂区";sub_array[82][8205]="风顺堂区";sub_array[82][8206]="嘉模堂区";sub_array[82][8207]="圣⽅济各堂区";var l_arr=[];var sub_arr=[];l_arr[1301]="⽯家庄市";sub_arr[1301]=[];sub_arr[1301][0]="请选择";sub_arr[1301][130102]="长安区";sub_arr[1301][130103]="桥东区";sub_arr[1301][130104]="桥西区";sub_arr[1301][130105]="新华区";sub_arr[1301][130107]="井陉矿区";sub_arr[1301][130108]="裕华区";sub_arr[1301][130121]="井陉县";sub_arr[1301][130123]="正定县";sub_arr[1301][130124]="栾城县";sub_arr[1301][130125]="⾏唐县";sub_arr[1301][130126]="灵寿县";sub_arr[1301][130127]="⾼⾢县";sub_arr[1301][130128]="深泽县";sub_arr[1301][130184]="新乐市"; sub_arr[1301][130185]="⿅泉市"; l_arr[1302]="唐⼭市";sub_arr[1302]=[];sub_arr[1302][0]="请选择";sub_arr[1302][130202]="路南区"; sub_arr[1302][130203]="路北区"; sub_arr[1302][130204]="古冶区"; sub_arr[1302][130205]="开平区"; sub_arr[1302][130207]="丰南区"; sub_arr[1302][130208]="丰润区"; sub_arr[1302][130223]="滦县"; sub_arr[1302][130224]="滦南县"; sub_arr[1302][130225]="乐亭县"; sub_arr[1302][130227]="迁西县"; sub_arr[1302][130229]="⽟⽥县"; sub_arr[1302][130230]="唐海县"; sub_arr[1302][130281]="遵化市"; sub_arr[1302][130283]="迁安市"; l_arr[1303]="秦皇岛市";sub_arr[1303]=[];sub_arr[1303][0]="请选择";sub_arr[1303][130302]="海港区"; sub_arr[1303][130303]="⼭海关区"; sub_arr[1303][130304]="北戴河区"; sub_arr[1303][130321]="青龙县"; sub_arr[1303][130322]="昌黎县"; sub_arr[1303][130323]="抚宁县"; sub_arr[1303][130324]="卢龙县"; l_arr[1304]="邯郸市";sub_arr[1304]=[];sub_arr[1304][0]="请选择";sub_arr[1304][130402]="邯⼭区"; sub_arr[1304][130403]="丛台区"; sub_arr[1304][130404]="复兴区"; sub_arr[1304][130406]="峰峰矿区"; sub_arr[1304][130421]="邯郸县"; sub_arr[1304][130423]="临漳县"; sub_arr[1304][130424]="成安县"; sub_arr[1304][130425]="⼤名县"; sub_arr[1304][130426]="涉县"; sub_arr[1304][130427]="磁县"; sub_arr[1304][130428]="肥乡县"; sub_arr[1304][130429]="永年县"; sub_arr[1304][130430]="邱县"; sub_arr[1304][130431]="鸡泽县"; sub_arr[1304][130432]="⼴平县"; sub_arr[1304][130433]="馆陶县"; sub_arr[1304][130434]="魏县"; sub_arr[1304][130435]="曲周县"; sub_arr[1304][130481]="武安市"; l_arr[1305]="邢台市";sub_arr[1305]=[];sub_arr[1305][0]="请选择";sub_arr[1305][130502]="桥东区"; sub_arr[1305][130503]="桥西区"; sub_arr[1305][130521]="邢台县"; sub_arr[1305][130522]="临城县"; sub_arr[1305][130523]="内丘县"; sub_arr[1305][130524]="柏乡县"; sub_arr[1305][130525]="隆尧县"; sub_arr[1305][130526]="任县"; sub_arr[1305][130527]="南和县"; sub_arr[1305][130528]="宁晋县"; sub_arr[1305][130529]="巨⿅县"; sub_arr[1305][130530]="新河县"; sub_arr[1305][130531]="⼴宗县"; sub_arr[1305][130532]="平乡县"; sub_arr[1305][130533]="威县"; sub_arr[1305][130534]="清河县"; sub_arr[1305][130535]="临西县"; sub_arr[1305][130581]="南宫市"; sub_arr[1305][130582]="沙河市"; l_arr[1306]="保定市";sub_arr[1306]=[];sub_arr[1306][0]="请选择";sub_arr[1306][130602]="新市区"; sub_arr[1306][130603]="北市区"; sub_arr[1306][130604]="南市区"; sub_arr[1306][130621]="满城县"; sub_arr[1306][130622]="清苑县"; sub_arr[1306][130623]="涞⽔县"; sub_arr[1306][130624]="⾩平县"; sub_arr[1306][130625]="徐⽔县"; sub_arr[1306][130626]="定兴县"; sub_arr[1306][130627]="唐县"; sub_arr[1306][130628]="⾼阳县"; sub_arr[1306][130629]="容城县"; sub_arr[1306][130630]="涞源县"; sub_arr[1306][130631]="望都县";。

JQuery教程实例-Ajax三级省市联动菜单

JQuery教程实例-Ajax三级省市联动菜单

JQuery教程实例-Ajax三级省市联动菜单1,目录结构这个实例的文件目录结构如下图所示。

其中,ajax.sql是数据库文件,data.php是处理ajax请求的php文件,droplist.js是页面效果处理文件,index.php是显示页面。

在进行下一步之前,我们先将ajax.sql导入到mysql数据库中。

2,index.php 文件主要是在页面刚打开时,显示默认的省的信息。

这里不再赘述,代码如下:1<html>2<head>3<meta http-equiv="Content-Type"content="text/html;charset=utf-8"/>4<script type="text/javascript"src="jquery-1.3.2.min.js"></script>5<script type="text/javascript"src="droplist.js"></script>6</head>7<body>8<div align="center"style="margin-top:200px;">9<?php10$conn=mysql_connect("localhost","root","");11mysql_select_db("novel");12mysql_query("set names'utf8'");13$sql="select*from province";14$result=mysql_query($sql);15echo"<from id='droplist'>\n";16echo"<select name='province'>\n";17echo"<option value='-1'selected>请选择省份</option>\n";18while($row=mysql_fetch_row($result)){19echo"<option value='$row[1]'>$row[2]</option>\n";20}21echo"</select>\n";22echo"<select name='selectCity'></select>\n";23echo"<select name='area'></select>\n";24echo"</form>\n";25?>26</div>27</body>28</html>3,droplist.js文件主要是实现了ajax的请求和相应的页面显示效果的处理,比如:其中自定义了ajaxSelectArea()和ajaxSelectCity()两个函数发送ajax请求,这两个函数里面用到的$.ajax()是jquery 框架中ajax的底层实现。

jQuery城市级联菜单,jquery省、市、县三级级联菜单

jQuery城市级联菜单,jquery省、市、县三级级联菜单

jQuery城市级联菜单,jquery省、市、县三级级联菜单容易用的jQuery城市级联菜单,jquery省、市、县三级级联菜单。

城市写在js文件里,调用只要引用js文件即可。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="/1999/xhtml"><head><title>jQuery 三级地市级联菜单_</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><style>#test select{width:100px;margin-left:20px;}</style><script src="jquery-1[1].2.6.js" type="text/javascript"></script><script src="jquery.provincesCity.js" type="text/javascript"></script><script src="provincesdata.js" type="text/javascript"></script><script>//调用插件$(function(){$("#test").ProvinceCity();});</script></head><body><div id="test"></div></body></html>jquery省、市、县三级级联菜单效果图。

JQ三级联动的写法

JQ三级联动的写法

JQ三级联动的写法今天和⼤家分享下三级联动的写法思路:1.通过AJAX获取到json⽂件⾥的数据,GET⽅法 2.在获取到的数据⾥找到省份添加到下拉菜单中 3.当省份标签被改变时change事件通过当前省份与市的共同数组下标找到对应的市区;实例:HTML<!DOCTYPE html><html><head><script src="js/jquery-3.3.1.js"></script><meta charset="UTF-8"><title></title></head><body><select id="province">//创建省份下拉菜单<option>--省份--</option></select><select id="city">//创建市下拉菜单<option>--市--</option></select><select id="code">//创建邮编下拉菜单<option>--邮编--</option></select></body></html> JQ 第⼀级联动省份<script>//----------------------------联动第⼀级-------------------------------------------------------$.get("js/city.json",function(data,status){//通过GET⽅法获取到json⽂件⾥的数据$(data.城市代码).each(function(i,el){ //通过JQ循环遍历数据var str = "<option value=" + i + ">" + data.城市代码[i].省 + "</option>"//把data的省份数据添加到下拉菜单中 $("#province").append(str);//添加option标签})})</script> 第⼆级联动市区:当省级下拉菜单被改变时触发change事件实现⼆级联动<script>$.get("js/city.json",function(data,status){//通过GET⽅法获取到json⽂件⾥的数据var provinceId = null;//纪录共同的数组下标值//----------------------------联动第⼀级-------------------------------------------------------$(data.城市代码).each(function(i,el){ //通过JQ循环遍历数据var str = "<option value=" + i + ">" + data.城市代码[i].省 + "</option>"//把data的省份数据添加到下拉菜单中 $("#province").append(str);//添加option标签});//----------------------------联动第⼆级-------------------------------------------------------$("#province").change(function(){//当省级下拉菜单被改变触发change事件$("#city").html("<option>--市--</option>");//当省级下拉菜单被改变时清空市级下拉菜单$("#code").html("<option>--邮编--</option>");//当省级下拉菜单被改变时清空邮编下拉菜单provinceId = $("#province").val();//获取到省和市的共同数组下标$(data.城市代码[provinceId].市).each(function(index,ele){//循环共同数组的市var str = "<option>" + ele.市名 + "</option>"//把data的市数据添加到下拉菜单中$("#city").append(str);//添加option标签})});</script> 第三级联动邮编:当市级级下拉菜单被改变时触发change事件实现三级联动<script>$.get("js/city.json",function(data,status){//通过GET⽅法获取到json⽂件⾥的数据var provinceId = null;//纪录共同的数组下标值//----------------------------联动第⼀级-------------------------------------------------------$(data.城市代码).each(function(i,el){ //通过JQ循环遍历数据var str = "<option value=" + i + ">" + data.城市代码[i].省 + "</option>"//把data的省份数据添加到下拉菜单中 $("#province").append(str);//添加option标签});//----------------------------联动第⼆级-------------------------------------------------------$("#province").change(function(){//当省级下拉菜单被改变触发change事件$("#city").html("<option>--市--</option>");//当省级下拉菜单被改变时清空市级下拉菜单$("#code").html("<option>--邮编--</option>");//当省级下拉菜单被改变时清空邮编下拉菜单provinceId = $("#province").val();//获取到省和市的共同数组下标$(data.城市代码[provinceId].市).each(function(index,ele){//循环共同数组的市var str = "<option>" + ele.市名 + "</option>"//把data的市数据添加到下拉菜单中$("#city").append(str);//添加option标签})});//----------------------------联动第三级-------------------------------------------------------$("#city").change(function(){$("#code").html("");$(data.城市代码[provinceId].市).each(function(index,ele){if($("#city").val()==ele.市名){console.log(ele.编码);var str = "<option>" + ele.编码 + "</option>"//把data的省份数据添加到下拉菜单中$("#code").append(str);//添加option标签}})})})</script>。

原生js实现省市区三级联动代码分享

原生js实现省市区三级联动代码分享

原⽣js实现省市区三级联动代码分享前⾔插件功能只满⾜我司业务需求,如果希望有更多功能的,可在下⽅留⾔,我尽量扩展!如果你有需要或者喜欢的话,可以给我github来个star准备<div id="wrap"></div>页⾯中的容器标签不限制,只需给个id就⾏var address = new Address({wrapId: 'wrap',showArr: ['provinces','citys','areas'],beforeCreat:function(){console.log("beforeCreat")},afterCreat:function(){console.log('afterCreat');}})wrapId:"wrap" // 此处的wrap就是上⾯容器的idshowArr: ['provinces','citys','areas'] // 此处分别代表省、市、区容器的id举个例⼦:如果传递的数组['provinces','citys','areas']长度为3,那么将会出现省市区,数组中三个字符串分别是省、市、区容器的id如传递的数组['provinces','citys']长度为2个,那么将会出现省市,数组中的两个字符串分别是省、市容器的id如数组长度为1的时候就不说了beforeCreat插件开始创建前执⾏的回调函数afterCreat插件创建完成后执⾏的回调函数预览总结如有什么功能需要增加的,可在评论区留⾔,我尽量满⾜。

如有什么疏忽或错误,希望您指出。

我会尽早修改,以免误导他⼈。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

jq_area地区三级联动插件
【插件功能】
jq_area地区三级联动插件:功能就如插件名显而易见嘛。

【原理】
通过循环遍历数组生成相应的option元素。

【演示地址】
/qianduan/jq_area.html
【插件参数】
url 数据读取AJAX地址:功能尚未开发
cache 城市数据,默认region.js文件
provinceId 省份字段ID,默认#province
cityId 城市字段ID,默认#city
countyId 区县字段ID,默认#county
【代码】
// 基于JQ的地区三级联动
//region.js为城市数据文件,调用时需要给cache赋值,如$("#area").area({cache:region});
// 创建一个闭包
(function($) {
//插件主要内容
$.fn.area = function(options) {
// 处理默认参数
var opts = $.extend({}, $.fn.area.defaults, options);
// 保存JQ的连贯操作
return this.each(function()
{
getProvinces();
$(opts.provinceId).change(function(){
getCities();
});
$(opts.cityId).change(function(){
getCounties();
});
});
//ajax获取地区数据
function getData()
{
//可以通过AJAX把地区数据读取到opts.cache中,数据格式为/*{"provinces2":{"region_id":"2","region_name":"\u5317\u4eac","city":{"cities52":{"region_id":
"52","region_name":"\u5317\u4eac","county":{"counties500":{"region_id":"500","region_name": "\u4e1c\u57ce\u533a"}}} 是一个三维数组的json数据,provinces2为省的id加provinces前缀作为key值;每个省数据中有city城市数据数组,每个城市数据中有county县数据数组*/ }
//获取省数据
function getProvinces(){
var pro = "";
$.each(opts.cache, function(i,item){
pro += "<option value="+item.region_id+">" + item.region_name + "</option>";
});
$(opts.provinceId).empty().append(pro);
getCities();
}
//获取城市数据
function getCities()
{
var proIndex = $(opts.provinceId).val();
showCities(proIndex);
getCounties();
}
//显示城市数据
function showCities(proIndex){
var cit = "";
if(opts.cache["provinces"+proIndex].city == null){
$(opts.cityId).empty();
return;
}
$.each(opts.cache["provinces"+proIndex].city, function(i,item){
cit += "<option value="+item.region_id+">" + item.region_name+ "</option>";
});
$(opts.cityId).empty().append(cit);
}
//获取县数据
function getCounties(){
var proIndex = $(opts.provinceId).val();
var citIndex = $(opts.cityId).val();
showCounties(proIndex,citIndex);
}
//显示县数据
function showCounties(proIndex,citIndex){
var cou = "";
if(opts.cache["provinces"+proIndex].city["cities"+citIndex].county == null){
$(opts.countyId).empty();
return;
}
$.each(opts.cache["provinces"+proIndex].city["cities"+citIndex].county,function(i,item){
cou += "<option value="+item.region_id+">" + item.region_name+ "</option>";
});
$(opts.countyId).empty().append(cou);
}
};
//插件主要内容结束
// 插件的defaults
$.fn.area.defaults = {
url:'',
cache:'',//地区数据
provinceId:'#province',
cityId:'#city',
countyId:'#county'
};
// 闭包结束
})(jQuery);。

相关文档
最新文档