代码效果





- <body class="bgca">
- <img src="./files/joinTooBg.png" style="width: 100%;object-fit: cover;" alt="">
-
- <!--填写申请资料-->
- <section>
- <div class="zi-liao">
- <h3 class="zong-h3">填写申请资料</h3>
- <div class="zs-bt"></div>
- <div class="zi-form">
- <form action="" method="post" enctype="multipart/form-data" onsubmit="return false;">
- <div class="zi-bor">
- <div class="zi-l border-b">
- <div class="zi-name">姓名:</div>
- <div class="zi-ingput"><input type="text" name="name" id="name" required=""
- placeholder="请输入您的姓名"></div>
- </div>
- <div class="zi-l border-b">
- <div class="zi-name">电话:</div>
- <div class="zi-ingput"><input type="text" name="mobile" id="mobile" required=""
- placeholder="请输入您的电话"></div>
- </div>
- <div class="zi-l border-b" style="display: flex;align-items: center;">
- <div class="zi-name" style="width: 80px;">代理区域:</div>
- <div class="join_region">
- 请选择要代理的区域
- <img class="reight_icon" src="./files/reight_icon.png" alt="">
- </div>
- </div>
- </div>
-
- <div class="zi-sub">
- <input type="hidden" name="action" value="city">
- <input type="submit" id="submit" value="提交">
- </div>
- </form>
- </div>
- </div>
- </section>
- <div class="popup_box_msk"></div>
- <div class="popup_box">
- <div class="ads_popup">
- <div class="ads_name_box">
- <div class="popupShow_close">
- <div></div>
- <!-- <u-icon name="close" size="20" @click="adsObj.popupShow=false"></u-icon> -->
- </div>
- <div class="ads_item_name clickProvince">
- <div class="province_name"></div>
- <img class="ads_item_right_icon" src="./files/reight_icon.png" />
- </div>
- <div class="ads_item_name color_ccc province_name_t" @click="clickReSelect('province')" v-else>
- 请选择省
- <img class="ads_item_right_icon" src="./files/reight_icon.png" />
- </div>
- <div class="ads_item_name clickCity">
- <div class="city_name"></div>
- <img class="ads_item_right_icon" src="./files/reight_icon.png" />
- </div>
- <div class="ads_item_name color_ccc city_name_t">
- 请选择市
- <img class="ads_item_right_icon" src="./files/reight_icon.png" />
- </div>
- <div class="ads_item_name clickArea">
- <div class="area_name"></div>
- <img class="ads_item_right_icon" src="./files/reight_icon.png" />
- </div>
- <div class="ads_item_name color_ccc area_name_t">
- 请选择县/区
- <img class="ads_item_right_icon" src="./files/reight_icon.png" />
- </div>
- <div class="ads_item_name clickTown">
- <div class="town_name"></div>
- <img class="ads_item_right_icon" src="./files/reight_icon.png" />
- </div>
- <div class="ads_item_name color_ccc town_name_t">
- 请选择乡/镇
- <img class="ads_item_right_icon" src="./files/reight_icon.png" />
- </div>
- </div>
- <div class="ads_item_box">
-
- </div>
- </div>
- </div>
-
-
- <script type="text/javascript" src="./files/jquery.nicehover.js"></script>
- <script type="text/javascript" src="./files/distpicker.data.js"></script>
- <script type="text/javascript" src="./files/distpicker.js"></script>
- <script src="js/upFrom.js"></script>
- </body>
js部分 upFrom.js
- const $http = 'https://aaa/';
-
- $(function() {
- $('#submit').on('click', function(event) {
- let par = {
- name: "",
- mobile: "",
- townAddress: "",
- townName: "",
- source: "PC"
- }
- par.name = $.trim($('#name').val());
- par.mobile = $.trim($('#mobile').val());
-
- for (let k in adsObj) {
- if (adsObj[k].adsId) {
- par.townName += adsObj[k].adsId + ','
- }
- if (adsObj[k].name) {
- par.townAddress += adsObj[k].name
- }
- }
- par.townName = par.townName.slice(0, -1)
-
- if (par.name == '') {
- var index = alert('请填写您的姓名!', {
- icon: 2
- }, function() {
- $('#name').focus();
- close(index);
- });
- return false;
- } else if (!/^\d{11}$/.test(par.mobile)) {
- return alert('请填写正确的的手机号');
- } else if (par.townAddress == '') {
- var index = alert('请选择要代理的区域');
- return
- }
- $.ajax({
- url: $http + 'system/ow-merchants-join/createGW',
- type: 'POST',
- contentType: 'application/json',
- data: JSON.stringify(par),
- })
- .done(function(data) {
- window.console && console.log(data);
-
- if (data.code == 0) {
- alert("提交成功")
- $('form')[0].reset();
- } else {
- alert(data.msg)
- $('form')[0].reset();
- }
- })
- .fail(function() {
- console.log("error");
- })
- .always(function() {
- console.log("complete");
- });
- });
- });
-
- function parseFormSerializedData(data) {
- var obj = {};
- var pairs = data.split('&');
- for (var i = 0; i < pairs.length; i++) {
- var pair = pairs[i].split('=');
- obj[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || '');
- }
- return obj;
- }
-
- const adsObj = {
- province: {
- name: "",
- id: "",
- adsId: "",
- },
- city: {
- name: "",
- id: "",
- adsId: "",
- },
- area: {
- name: "",
- id: "",
- adsId: "",
- },
- town: {
- name: "",
- id: "",
- adsId: "",
- },
- showAddressList: [],
- provinceType: 0, //如果是直辖市就为1
- }
-
-
- // 点击选择地址框
- $('.join_region').on('click', function() {
- console.log(111)
- $('.popup_box').show();
- $('.popup_box_msk').show();
- $('.ads_item_name').hide()
- $('.province_name_t').show()
-
- getAdsList({}, 'system/city/getProvince')
- })
-
- $('.popup_box_msk').on('click', function() {
- let text = ""
- for (let k in adsObj) {
- if (adsObj[k].name) {
- text += adsObj[k].name
- }
- }
- if (text != '') {
- $('.join_region').text(text)
- }
-
- $('.popup_box').hide();
- $('.popup_box_msk').hide();
- })
-
- $('.clickProvince').on('click', function() {
- getAdsList({}, 'system/city/getProvince')
- })
-
- $('.clickCity').on('click', function() {
- getAdsList({
- province: adsObj.province.id
- }, 'system/city/getCity')
- })
-
- $('.clickArea').on('click', function() {
- getAdsList({
- province: adsObj.province.id,
- city: adsObj.city.id
- }, 'system/city/getArea')
- })
-
- $('.clickTown').on('click', function() {
- getAdsList({
- province: adsObj.province.id,
- city: adsObj.city.id,
- area: adsObj.area.id
- }, 'system/city/getTown')
- })
-
- function each(data) {
- $.each(data, function(index, item) {
- // 将每条数据添加到页面中
- $(".ads_item_box").append(`<div
- class='ads_list_item_name'
- data-id="${item.id}"
- data-town="${item.town}"
- data-area="${item.area}"
- data-city="${item.city}"
- data-province="${item.province}"
- data-name="${item.name}"
- > ${item.name}
- </div>`);
- });
- }
-
- // 获取省信息
- function getAdsList(parameter, url) {
- $(".ads_item_box").text("")
- let par = JSON.stringify(parameter)
- $.ajax({
- url: $http + url,
- type: 'POST',
- contentType: 'application/json',
- data: par,
- })
- .done(function(data) {
- window.console && console.log(data);
- // 遍历数据,然后将每个item添加到页面中
- each(data.data)
- })
- .fail(function() {
- console.log("error");
- })
- .always(function() {
- console.log("complete");
- });
- }
- // 获取市信息
- function getCity(parameter) {
- $(".ads_item_box").text("")
- let par = JSON.stringify(parameter)
- $.ajax({
- url: $http + 'system/city/getCity',
- type: 'POST',
- contentType: 'application/json',
- data: par,
- })
- .done(function(res) {
- if (res.data.length < 1) {
- adsObj.provinceType = 1
- $('.city_name_t').hide()
- $('.area_name_t').show()
- getAdsList({
- province: parameter.province,
- city: 1
- }, 'system/city/getArea')
- return
- } else {
- adsObj.provinceType = 0
- }
- // 遍历数据,然后将每个item添加到页面中
- each(res.data)
-
- })
- .fail(function() {
- console.log("error");
- })
- .always(function() {
- console.log("complete");
- });
- }
-
-
- // 点击列表项时获取点击的值
- $(".ads_item_box").on("click", "div", function() {
- var id = $(this).data('id');
- var province = $(this).data('province');
- var city = $(this).data('city');
- var area = $(this).data('area');
- var town = $(this).data('town');
- var name = $(this).data('name');
- if (city == 0) {
- $('.province_name').text(name)
- $('.clickProvince').show()
- $('.province_name_t').hide()
- $('.city_name_t').show()
- adsObj.province.name = name
- adsObj.province.id = province
- adsObj.province.adsId = id
-
- adsObj.city.name = ""
- adsObj.city.id = ""
- adsObj.city.adsId = ""
- adsObj.area.name = ""
- adsObj.area.id = ""
- adsObj.area.adsId = ""
- adsObj.town.name = ""
- adsObj.town.id = ""
- adsObj.town.adsId = ""
- getCity({
- province: province
- })
- } else if (area == 0) {
- $('.city_name').text(name)
- $('.clickCity').show()
- $('.city_name_t').hide()
- $('.area_name_t').show()
-
- adsObj.city.name = name
- adsObj.city.id = city
- adsObj.city.adsId = id
-
- adsObj.area.name = ""
- adsObj.area.id = ""
- adsObj.area.adsId = ""
- adsObj.town.name = ""
- adsObj.town.id = ""
- adsObj.town.adsId = ""
-
- getAdsList({
- province: province,
- city: city
- }, 'system/city/getArea')
- } else if (town == 0) {
- $('.area_name').text(name)
- $('.clickArea').show()
- $('.area_name_t').hide()
- $('.town_name_t').show()
-
- adsObj.area.name = name
- adsObj.area.id = area
- adsObj.area.adsId = id
- adsObj.town.name = ""
- adsObj.town.id = ""
- adsObj.town.adsId = ""
- getAdsList({
- province: province,
- city: city,
- area: area
- }, 'system/city/getTown')
- } else if (town) {
- $('.town_name').text(name)
- $('.clickTown').show()
- $('.town_name_t').hide()
-
- adsObj.town.name = name
- adsObj.town.id = town
- adsObj.town.adsId = id
-
- let text = ""
- for (let k in adsObj) {
- if (adsObj[k].name) {
- text += adsObj[k].name
- }
- }
- $('.join_region').text(text)
-
- $('.popup_box').hide();
- $('.popup_box_msk').hide();
- }
- });
弹出层css部分
- .join_region{
- flex: 1;
- color: #717171;
- font-size: 15px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- box-sizing: border-box;
- padding-right: 10px;
- cursor:pointer;
- }
-
- .popup_box{
- position: fixed;
- bottom: 0;
- left: 0;
- height: 60vh;
- width: 100%;
- background-color: aquamarine;
- display: none;
- cursor:pointer;
- }
-
- .popup_box_msk{
- position: fixed;
- width: 100%;
- height: 100%;
- background-color: rgba(0,0,0,0.6);
- top: 0;
- display: none;
- }
-
-
- .ads_popup{
- height: 100%;
- background-color: #fff;
- display: flex;
- flex-direction:column;
- box-shadow: 10px 10px 10px 10px #ccc;
- }
-
- .ads_name_box{
- padding:10px;
- border-bottom: 1px solid #ccc;
- font-size: 16px;
- }
-
- .ads_item_name{
- display: flex;
- justify-content: space-between;
- align-items: center;
- padding: 5px 0;
- }
-
- .ads_item_right_icon{
- width: 10px;
- height: 16px;
- }
-
- .popupShow_close{
- padding-bottom: 5px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- }
-
- .ads_item_box{
- flex: 1;
- overflow-x: hidden;
- overflow: auto;
- font-size: 14px;
- box-sizing: border-box;
- padding: 0 10px;
- }
-
- .ads_list_item_name{
- padding: 8px 0;
- }
-
- .color_ccc{
- color: #7a7a7a;
- }
-
- .reight_icon{
- height: 13px;
- width: 8px;
- }
地址数据请求后端接口 查询
后端返回数据格式


全国省市县镇 数据链接: https://pan.baidu.com/s/195H8n-rhEzLCPw0ssltcsQ
提取码: hujx
原码链接 链接: https://pan.baidu.com/s/1y_UeP1MUuDLU5hvCX6QFjQ
提取码: ec5j