前端jQuery最新省市区三级联动插件,包含sql数据库

发布时间:2019-07-23
技术:jquery+html

概述

省市区三级联动是项目中很常见到的小功能,实现起来可以分为前台实现和后台实现。后台实现起来有些麻烦,需要建表查询省份数据,根据id查询下一级地区数据,太过繁琐而且还会有延迟。前端实现起来就容易多了,用起来没有延迟,以下就是前端实现的例子。

详细

一、目录结构

1.png

、功能演示

1)用浏览器打开,index.html

2)单击,输入框,

3)选择省份

image.png

4).选择城市

image.png

5).选择区县

image.png

6).显示已选中的名称和ID

image.png

、前端页面

<!DOCTYPE html>
<html>
<head >
    <title>地区数据</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <link rel="stylesheet" href="css/area.css" />
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/area.js"></script>
    <script type="text/javascript" src="js/selectCity.js"></script>
    <script type='text/javascript'>

    $(function () {

	    //加载省市区控件
        $("#city").click(function(e) {
            SelCity(this, e);
        });

	    //定时器获取已选中数据
        var timeout = setInterval(function(){
            var $cityId = $("#city").attr('data-id');
            var $cityName =  $("#city").attr('data-name');

            $cityId = $cityId.split("-");
            $cityName =  $cityName.split("-");
            if($cityId != null &&  $cityName != null && $cityId.length > 0 && $cityId.length == $cityName.length){
		                $("#districtName").html('');
                $("#districtCode").html('');
                var size = $cityId.length;
                for (var index = 0; index < size; index++){
                    if(index == 0){
                        $("#provinceName").html($cityName[index]);
                        $("#provinceCode").html($cityId[index]);
                    }else if(index == 1){
                        $("#cityName").html($cityName[index]);
                        $("#cityCode").html($cityId[index]);
                    }else if(index == 2){
                        $("#districtName").html($cityName[index]);
                        $("#districtCode").html($cityId[index]);
                    }
                }
            }

        },1000);

    });

   </script>
</head>
<body>

<p>&nbsp;</p>
<p>&nbsp;</p>

<label class="is-required">所在地区</label>
<div class="area-select">
    <div class="col" id="city" data-name="北京市-朝阳区"  data-id="110100-110105">北京市-朝阳区</div>
    <i class="iconfont icon-dropdown"></i>
</div>

<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

<h2>省份名称:&nbsp;&nbsp;&nbsp;<span id="provinceName"></span>&nbsp;&nbsp;&nbsp;省份ID:&nbsp;&nbsp;&nbsp;<span id="provinceCode"></span></h2>
<h2 >城市名称:&nbsp;&nbsp;&nbsp;<span id="cityName"></span>&nbsp;&nbsp;&nbsp;城市ID:&nbsp;&nbsp;&nbsp;<span id="cityCode"></span></h2>
<h2>区县名称:&nbsp;&nbsp;&nbsp;<span id="districtName"></span>&nbsp;&nbsp;&nbsp;区县ID:&nbsp;&nbsp;&nbsp;<span id="districtCode"></span></h2>

</body>
</html>

地区数据

var province =[{"city":[{"name":"东城区","id":110101},{"name":"西城区","id":110102}.....];

var area =[{"name":"长安区","pid":130100,"id":130102},{"name":"桥西区","pid":130100,"id":130104}.....];

吐槽一下:百度搜省市区联动插件,各种坑爹。什么3个select 框, 3个ajax 查询,又麻烦又不好看又不好用。后来忍不了,优改了一下人家的控件,再去官网下载最新的地区数据。

谢谢大家观看~


本实例支付的费用只是购买源码的费用,如有疑问欢迎在文末留言交流,如需作者在线代码指导、定制等,在作者开启付费服务后,可以点击“购买服务”进行实时联系,请知悉,谢谢
手机上随时阅读、收藏该文章 ?请扫下方二维码