純JS實現中國行政區域上下聯動選擇地址


一、實現目的:

如標題所述,通過JS來實現地址的選取,上一篇博客介紹的方式是通過java讀取txt資源文件來實現地址的選擇,通過ajax方式訪問服務器實現省市區聯動。此篇中將介紹如何使用JS實現相同功能。

相比上一篇的那種方式,這種方式在選擇地址的時候不用跟服務器交互,效率更高些。

 

二、資源文件

要實現地址選取當然也需要存放着區域的資源文件。相關JS文件(region_select.js)的下載地址(網盤):https://yunpan.cn/cqLRBjRw45EzZ  提取碼:bb2a

 

三、代碼實現

1. 前台頁面;在JSP上使用簡單html標簽,然后引入相關資源文件即可。

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title>中國行政區域聯動選擇</title>
 6     </head>
 7     <style>
 8         .areainput1{width: auto; margin-right: 5px;}
 9         body div{margin-top: 10px;margin-left: 5px;}
10     </style>
11     <body>
12         <form action="save.action" method="post">
13             <div id="div_province">
14                 <select name="add_p" id="add_p" class="areainput" value="" ></select>                                                    
15                 <select name="add_c" id="add_c" class="areainput" value="" ></select>                
16                 <select name="add_a" id="add_a" class="areainput" value=""></select>
17             </div>
18             <div><input type="submit" value="提交"/></div>
19         </form>
20         
21         <script charset="utf-8" src="js/region_select.js"></script>
22         <script type="text/javascript">
23             new PCAS('add_p','add_c','add_a' ,'天津市','天津市','河東區'); //這是初始化
24             //如果數據庫里已經存了某個地址,PCAS方法的后面三個參數可以用JSTL標簽輸出即可
25         </script>
26     </body>
27 </html>

頁面效果如下圖所示:

 

 

2. 后台Action接收參數(以使用了strut2框架為例)

 1 public class ThirdpartyConfigAction extends BaseAction{
 2     private String add_p;
 3     private String add_c;
 4     private String add_a;
 5     
 6     /*
 7      * get/set方法此處省略...
 8      */
 9 
10     //當頁面提交后,strut會自動將成員變量復制,頁面上選中的省、市、區就會存到對應變量里面    
11     public String save(){
12         
13         //調用DAO方法,保存數據
14     }
15 }

 

三、總結

這種實現方式就特別簡單,具體JS是怎么實現的可以不用管它,學會使用即可,有時間和興趣可以自己研究,此為實際工作中使用到的,為方便以后項目中再次用到故記錄下來,以便以后查閱。

 

 

other:

這里推薦一個編輯器HBuilder,寫html/jsp很方便,樣式JS方法都有提示,挺好用的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM