jQuery簡單的省市區縣三級聯動案例

来源:http://www.cnblogs.com/xiaoxiaossrs/archive/2017/06/10/6979500.html
-Advertisement-
Play Games

簡單的省市區三級聯動,適合初學者入門學習的案例 目錄結構如下: 三級聯動.html 跟 JS文件夾是同個級別 效果圖如下: HTML代碼: JS代碼: ...


簡單的省市區三級聯動,適合初學者入門學習的案例

目錄結構如下: 三級聯動.html 跟 JS文件夾是同個級別

 

效果圖如下:

HTML代碼:

 1 <style type="text/css">
 2     *{margin:0;padding:0;}
 3     .selectAll
 4       { width:400px;
 5          margin:100px auto;
 6       }
 7 </style>
 8 
 9 <div class="selectAll">
10     <!--省份-->
11     <select class="province">
12         <option>請選擇</option>
13     </select>
14     <!--城市-->
15     <select class="city">
16         <option>請選擇</option>
17     </select>
18     <!--地區-->
19     <select class="district">
20         <option>請選擇</option>
21     </select>
22 </div>

 

JS代碼:

 1 <script src='./js/jquery.min.js'></script>
 2 <script type="text/javascript">
 3 $(function(){
 4 //    JSON文件放的位置,根據你放的位置更改
 5     var url = './js/district.json';
 6 //    JSON數據為數組,將返回的值賦值給areaData,一次性請求完成
 7     var areaData = null;
 8 //    獲取到的數據用模板存放到templateOption,進行DOM重繪
 9     var templateOption = "";
10 //
11     var province = $('.province');
12     var city = $('.city');
13     var district = $('.district');
14 //    獲取JSON格式
15     $.getJSON(url,function (data) {
16         areaData = data;
17         provinceFun();
18     })
19 //    省份
20     var provinceFun = function(){
21         $.each(areaData,function(index,value){
22             templateOption += "<option value='"+value.p+"'>"+value.p+"</option>";
23         })
24         province.html(templateOption);
25         cityFun();
26     };
27 //    城市
28     var cityFun = function(){
29         templateOption = "";
30 //        獲取省份選取的索引,用get(0)是因為獲取$('.province')的第一個,即使$('.province')只有一個。下麵也一樣。
31         var p = province.get(0).selectedIndex;
32 //        根據JSON格式,獲取選取省份對應的市的數組
33         $.each(areaData[p].c,function(index,value){
34             templateOption += "<option value='"+value.ct+"'>"+value.ct+"</option>";
35         })
36 //        對城市的option選項進行重繪
37         city.html(templateOption);
38 //        城市選擇好了,觸發區縣
39         districtFun();
40     };
41 //    區縣
42     var districtFun = function(){
43         templateOption = "";
44         var p = province.get(0).selectedIndex;
45         var c = city.get(0).selectedIndex;
46 //        若區縣沒有,不顯示出來
47         if(areaData[p].c[c].d == undefined){
48             district.css('display','none');
49         }else{
50             district.css('display','inline');
51             $.each(areaData[p].c[c].d,function(index,value){
52                 templateOption += "<option value='"+value.dt+"'>"+value.dt+"</option>";
53             })
54             district.html(templateOption);
55         }
56 
57     };
58 //    點擊省份,觸動市的變化
59     province.change(function(){
60         cityFun();
61     });
62 //    點擊市,觸動地區的變化
63     city.change(function(){
64         districtFun();
65     })
66 })
67 </script>

 


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

-Advertisement-
Play Games
更多相關文章
  • 之前對事件模型還是比較清楚的,許多概念都清晰映射在腦海中。工作之後,一方面使用的 局限性,二是習慣於用框架中的各種事件監聽方式,簡單即方便,久而久之,事件的一些概念開 始淡出記憶中,就像我現在已經開始淡忘C語言的指針、麥克斯韋方程組、矩陣的變換、最小二乘 法等。知識就像五彩繽紛的鵝卵石鋪墊在你前行的 ...
  • 基礎框架 瞭解HTML的代碼註釋 什麼是代碼註釋?代碼註釋的作用是幫助程式員標註代碼的用途,過一段時間後再看你所編寫的代碼,就能很快想起這段代碼的用途。代碼註釋不僅方便程式員自己回憶起以前代碼的用途,還可以幫助其他程式員很快的讀懂你的程式的功能,方便多人合作開髮網頁代碼。 語法: <!--註釋文字 ...
  • 上手簡單,讓Atom能夠成為了一款優雅而低門檻的神器,深度可定製的特性,讓Atom在你的打磨之下,變得越來越符合你的心意 ...
  • 理解Node.js 為了理解Node.js是如何工作的,首先你需要理解一些使得Javascript適用於伺服器端開發的關鍵特性。Javascript是一門簡單而又靈活的語言,這種靈活性讓它能夠經受住時間的考驗。函數、閉包等特性使Javascript成為一門適合Web開發的理想語言。 有一種偏見認為J ...
  • 1 new Object() 先創建一個Object實例,然後為它添加屬性和方法 2 對象字面量法 對象字面量法是創建對象最快捷方便的方式,在很多場景下被使用。 對象字面量法的缺點是創建多個同類對象時,會產生大量重覆代碼,因此有了工廠模式。 3 工廠模式 工廠模式用函數封裝了創建對象的細節,調用函數 ...
  • 哈哈哈 哈哈哈 每個人都是獨立的個體,大白也不例外,仔細觀察大白有一個圓圓的頭加一對黑溜溜的眼睛,沒有腹肌的軀幹和一顆裸露的心臟,圓滾滾的肚子兩邊一對寬厚的臂膀,仔細看還有兩個萌萌噠小手指呢,最後一對粗的像大象一樣的大腿才能支撐這軟軟的肚子嘛,哈哈~ 因為大白是白的,所以我們可以定義一個深顏色的背景 ...
  • 最近在逛某個技術網站的時候,感覺文章關鍵詞上的樣式好酷炫啊,分頁的樣式。來張截圖: 你在首頁的底部也可以看到這樣一個分頁欄;是不是看上去還不錯?下麵就來看看這是如何實現的吧~ 第一種方法:利用border 第一種方法是藉助border屬性 hack 出三角形,然後通過一個矩形拼接兩個三角形最終製造出 ...
  • 因為工作原因,經常關註有關互聯網行業的最新動態。這不,剛送走了高考,又迎來了每年的畢業季,看到好多人都說今年的前端工作不好找,很多童鞋簡歷投了一大堆,也沒有回應,發現連實習的機會都沒有,好不容易去面試了幾次,發現到處都是培訓機構。最後,眼裡都是數不盡的迷茫,甚至都開始懷疑人生了有沒有? 如果你是想要 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...