省份二級聯動

来源:https://www.cnblogs.com/liubingyjui/archive/2018/12/11/10102609.html
-Advertisement-
Play Games

$(function(){ //適配本地和測試環境 var host = "http://api.bch.xuemao.com", xmhost = 'http://dev.www.xuemao.com'; var winurl = (window.location.href).split('/')... ...




$(function(){

//適配本地和測試環境
var host = "http://api.bch.xuemao.com",
xmhost = 'http://dev.www.xuemao.com';


var winurl = (window.location.href).split('/')[2];

if(winurl.indexOf('dev')>=0){
host = "http://api.bch.xuemao.com";
xmhost = 'http://dev.www.xuemao.com';

}else if(winurl.indexOf('bch') >= 0){

host = "http://api.bch.xuemao.com";
xmhost = 'http://www.bch.xuemao.com';

}else{
host = "http://api.xuemao.com";
xmhost = '//www.xuemao.com';
}

var cityMassage = '';
//手機號
function checkPhone(){
var phoneNumber = $.trim($('#t_codeLayer').val());
var phone = document.getElementById('t_codeLayer').value;
if (phoneNumber == null || phoneNumber == "") {
$('#smsmsgLayer .error').show();
$('#smsmsgLayer .error .error_msg').html("請輸入手機號!");
return false;
//手機號正則
}else if(!(/^1[3456789]\d{9}$/.test(phone))) {
$('#smsmsgLayer .error').show();
$('#smsmsgLayer .error .error_msg').html("請輸入正確的手機號");
return false;
}
return true;
}
//手機驗證碼
function checkSmsCode(){
var smsCode = $.trim($('#smsCodeLayer').val());
if (smsCode == null || smsCode == "") {
$('#smsmsgLayer .error').show();
$('#smsmsgLayer .error .error_msg').html("請輸入驗證碼");
$('#smsmsgLayer .error .error_msg').css({
'color':'#fff'
})
return false;
}
return true;
}

var daoshus = 60;
var timer = null;
//獲取驗證碼倒計時1分鐘
function fn_daoshu(){
$("#smsmsgLayer .daoshus").show();
daoshus -- ;
$("#smsmsgLayer .daoshus").text(daoshus +'s');
if(daoshus == 0){
clear_Inter();
}
}
//清楚定時器
function clear_Inter(){
daoshus = 60;
$("#smsmsgLayer .daoshus").text('60s').hide();
clearInterval(timer);
}

//發送簡訊驗證碼
$("#hq_smsLayer").click(function(){
var mobile = $.trim($('#t_codeLayer').val());
if(!checkPhone()){
return false;
}
send_login_code(mobile);
});


//發送簡訊驗證碼
function send_login_code(mobile)
{

$("#smsmsgLayer .daoshus").show();
timer = setInterval(fn_daoshu,1000);
$("#smsCodeLayer").attr("disabled" , false);
$.ajax({
type:"GET",
url:xmhost+'/api/user/get_sms_code',
data:{
mobile: mobile,
},
datatype: "json",
success:function(res){
if(res.status == 'true'){
// com.prompt("發送成功!");
$('#smsmsgLayer .succ').fadeIn(500);
$('#smsmsgLayer .succ').html("發送成功!");
$('#smsmsgLayer .succ').fadeOut(3000);
}else{
$('#smsmsgLayer .error').fadeIn(500);
$('#smsmsgLayer .error .error_msg').html(res.info);
$('#smsmsgLayer .error').fadeOut(3000);
clear_Inter();
return false;
}
},
error: function(res){
$('#smsmsgLayer .error').show();
$('#smsmsgLayer .error .error_msg').html("請重新獲取");

clear_Inter();
return false;
// console.log(res)
}
});
}

//用戶名非必填,填了就檢驗格式
$("#nusernameLayer").blur(function(){
var nusername = $('#nusernameLayer').val();
if(nusernameLayer == '') return false;
//只能輸入中文 英文 和空格
var reg =/^[a-zA-Z\u4e00-\u9fa5\s ]{1,20}$/;
if(!(reg.test(nusername))) {
$('#nameMsgLayer .error .error_msg').html("姓名格式不正確");
$('#nameMsgLayer .error').show();
return false;
}else {
$('#nameMsgLayer .error .error_msg').html("");
$('#nameMsgLayer .error').hide();
return true;
}

});
//用戶名驗證碼
function t_usrname(){
var nusername = $('#nusernameLayer').val();
//只能輸入中文 英文 和空格
var reg =/^[a-zA-Z\u4e00-\u9fa5\s ]{1,20}$/;
if(nusername == null || nusername == "") {
return true;
}else if(nusername!=''){
if(!(reg.test(nusername))) {
$('#nameMsgLayer .error .error_msg').html("姓名格式不正確");
$('#nameMsgLayer .error').show();
return false;
}
return true;
}
}
$('#nusernameLayer').on("input",function(){
var nusername = $('#nusername').val();
if (nusername == null || nusername == "") {
$('#nameMsgLayer .error').hide();
$('#nameMsgLayer .error .error_msg').html("");
return true;
}
})


//手機號失焦校驗
$('#t_codeLayer').blur(function(){
if(!checkPhone()){
return false;
}
})
//正在輸入檢驗
$('#t_codeLayer').on("input",function(){
var phoneNumber = $.trim($('#t_codeLayer').val());
var phone = document.getElementById('t_code').value;
if (phoneNumber == null || phoneNumber == "") {
$("#hq_smsLayer").css({"background":"#eee","color":"#999"});
return false;
//手機號正則
}else if(!(/^1[3456789]\d{9}$/.test(phone))) {
$("#hq_smsLayer").css({"background":"#eee","color":"#999"});
return false;
}
$("#hq_smsLayer").css({"background":"#b41f5e","color":"#fff"});
$("#hq_smsLayer.colr").css({"background":"#13c5c1","color":"#fff"});
$("#hq_smsLayer .dbing").css({"background":"#b41f5e","color":"#fff"});
$("#smsmsgLayer .error").hide();
$("#smsmsgLayer .error .error_msg").html('');
})


//省份
var citysData = [];
$('.city-picker-spanLayer').click(function(){
$('#provincesLayer').hide();
$('#citysLayer').hide();
// var cityVal =$('#city-picker-span .placeholder').html();
$.ajax({
type:"GET",
url: host+'/xuemao/public/china_city_class.json',
data:{
city:'北-上'
},
dataType: 'json',
success: function(res){
if(res.result == 'succ'){
citysData = res.data;
var data=res.data;
var html ='';
for(var i=0;i<data.length;i++){
var province= data[i].province;
html+='<a data-id="'+data[i].id+'" >'+province+'</a>';
}
$('#provincesLayer .a_padd').html(html)
$('#provincesLayer').show();
}

},
error: function(res){

}
})

})

//選擇市
var proVal = '';
var cityVal = '';
$("#provincesLayer").on("click" , ".a_padd a" ,function(){
$('#cityLayer').hide();

proVal=$(this).html();
var this_id = $(this).attr('data-id');
$('.city-picker-spanLayer .placeholder').html(proVal);
cityMassage = proVal;
if(this_id == '2'|| this_id == '19' ||this_id == '857' ||this_id == '2459'){
var html = $(this).html();

$('#citysLayer .a_padd').html('<a >'+html+'</a>');
$('#provincesLayer').hide();
$('#citysLayer').show();
}else {
//二級
for(var i=0;i<citysData.length;i++){
if(this_id == citysData[i].id){
var html = '';
for(var j=0;j<citysData[i].son.length;j++){

html += '<a data-id="'+citysData[i].son[j].id+'">'+citysData[i].son[j].city+'</a>'
}
// console.log(html);
$('#provincesLayer').hide();
$('#citysLayer .a_padd').html(html);
$('#citysLayer').show();

}
}
}
});

//填充表單數據
$("#citysLayer").on("click" , ".a_padd a" ,function(){
cityVal= $(this).html();
$('.city-picker-spanLayer .placeholder').html(proVal+'-'+cityVal)
cityMassage = proVal+'-'+cityVal;
$('#provincesLayer').hide();
$('#citysLayer').hide();
})

//提交前手機號驗證碼驗證
function mobile_submit(userInfo ){
$.ajax({
type:"GET",
url: xmhost+'/api/user/check_sms_code',
data:{
mobile : userInfo.mobile,
code : userInfo.code
},
dataType: 'json',
success: function(res){
if(res.status == 'true'){
postMsg(userInfo);
}else{
$('#smsmsgLayer .error .error_msg').html(res.info);
$('#smsmsgLayer .error').css({
'color':'#fff',
"position":"absolute",
"bottom":'-23px',
"left":0,
'display':'block'
});
return false;
}
},
error: function(res){
return false;
}
})

}

//提交按鈕
function postMsg(userInfo){
var reg_source = $.trim($("#source").val()), //暫時寫死
name=$('#nusernameLayer').val();
var submitInfo = {
name:name,
city:cityMassage,
mobile : userInfo.mobile,
code : userInfo.code ,
reg_source : reg_source,
pf_source:1 , //pf_source:2(1是pc,2是觸屏)
ip: returnCitySN["cip"]

};
$.ajax({
type:"GET",
url: host+'/xuemao/formcollection/save_form_data.json',
data:submitInfo,
xhrFields: {
withCredentials: true
},
dataType: 'json',
success: function(res){
if(res.result == 'succ'){
clear_Inter();
$('#submsgLayer').fadeIn(500);
$('#submsgLayer').html("已提交!");
$('#submsgLayer').fadeOut(1000);
$('#smsmsgLayer .error').hide();
$('#t_codeLayer').val('');
$("#smsCodeLayer").attr('disabled','disabled').val('');
$("#hq_smsLayer").css({"background":"#eee","color":"#999"});
$('.city-picker-spanLayer .placeholder').html('選擇省份/自治區');
$('#nusernameLayer').val('');
}else {
// show_msg(res.info);
$('#submsgLayer').fadeIn(500);
$('#submsgLayer').html(res.info);
$('#submsgLayer').fadeOut(1000);
}
},
error: function(res){
return false;
}
})
}

$('#s_btnLayer').click(function(){
var phone = $.trim($('#t_codeLayer').val()),
yz_code = $.trim($('#smsCodeLayer').val());

var userInfo = {
mobile : phone, //手機號
code : yz_code //驗證碼
};
if(!checkPhone()){
return false;
}
if(!checkSmsCode()){
return false;
}
if(!t_usrname()){
return false;
}
mobile_submit(userInfo);

})

//非本區域隱藏
$('body').click(function(e) {
var target = $(e.target);
if(!target.is('#provincesLayer *') && !target.is('#citysLayer *')) {
$('#citysLayer').hide();
$('#provincesLayer').hide();
}
});

})

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前端之盒模型顯隱、定位與流式佈局思想 盒模型的顯隱 定位 相對定位 絕對定位 固定定位 z index 屬性 html <!DOCTYPE html z index .wrap { width: 200px; height: 200px; background: pink; / 父級做相對定位處理, ...
  • 一。 JS簡介 1. JavaScript概述 JavaScript 是世界上最流行的編程語言。這門語言可用於 HTML 和 web,更可廣泛用於伺服器、PC、筆記本電腦、平板電腦和智能手機等設備。 JavaScript是一種面向對象的,動態的腳本語言,主要被作為客戶端腳本語言在用戶的瀏覽器上運行, ...
  • 先放一個樣式圖: 源代碼如下: ————簡單來說,我的做法就是根據需求給每一個按鍵添加一個點擊事件。 先獲取到顯示器部分: ————利用點擊事件將按鍵的值傳給顯示部分,用到這個方法的的按鍵有0~9的數字,小數點,加減乘除和取餘(%)的運算符號 ————給等號按鍵添加的方法如下,eval方法會自動進行 ...
  • 利用canvas將網頁元素生成圖片並保存在本地 首先引入三個文件: > 註:createElementNS() 方法可創建帶有指定命名空間的元素節點。 createElementNS(ns,name)> createElementNS() 方法與 createElement() 方法相似,只是它創建 ...
  • 最近為了準備新工作重新摸出了SSM框架,同時從0學習了JQuery,終於用一周做完了一個包括增刪改查的模塊(主要是屬性太多了,其中一個類50+,複製粘貼耗時)。 從中特意記下了幾個遇到的問題,總結一下。 1. 執行網頁js代碼時, 出現$ is not defined錯誤。 原因:未引入JQuery ...
  • main.js main.vue pythod <! 自定義圖標存在時顯示 <! 自定義圖標不存在時根據type顯示圖標 <! 用戶設置的message的參數為字元串時,顯示字元串 {{ message }} <! 用戶設置的message的參數為VNode時,在此處顯示 <! 當用戶設置的關閉按鈕 ...
  • js實現獲取當前時間是本月第幾周和年的第幾周的方法 獲取本月第幾周的方法: 結果: 獲取年的第幾周的方法: ...
  • 數據的重要性我們大家都知道,就算再小的項目中都可能使用幾個圖表展示,我最近在做項目的過程中也是需要用到圖表,最後選擇了echarts 圖表庫,為什麼選擇 echarts,第一:簡單上手容易,第二:它幾乎可以滿足我們所有的開發需要,第三:echarts 應該是國內做的最好的可視化庫之一了。 廢話不多說 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...