Angular JS 下拉式清單 聯動

來源:互聯網
上載者:User

標籤:

目的是選擇縣市後,要對應下該縣市下的地區與郵遞區號,如圖所示。

首先,先建立好Html元素

1 <div>
2   <select>
3     <option value="">--請選擇--</option>
4   </select>
5         
6      <select >
7     <option value="">--請選擇--</option>
8   </select>
9 </div>

放入Angularjs tag

01 <body ng-app="">
02   <div ng-controller="zip">
03   <select ng-model="SelCity" ng-options="City.name for City in Citys" ng-change="update(SelCity)">
04     <option value="">--請選擇--</option>
05   </select>
06         
07      <select ng-model="SelArea" ng-options="SelCity for  SelCity in level2" >
08     <option value="">--請選擇--</option>
09   </select>
10   </div>
11   </body>

建立controller 與 model

01 function zip ($scope) //controller 名稱
02 {
03   $scope.Citys= //model 內容
04     [
05       {
06         name:"台北市",
07         areas:["中正區100", "大同區103", "中山區104", "松山區105", "大安區106", "萬華區108", "信義區110", "士林區111", "北投區112", "內湖區114", "南港區115", "文山區116"]
08       },
09        
10       {
11         name:"新北市",
12         areas: ["萬裡鄉207", "金山鄉208", "板橋市220", "汐止市221", "深坑鄉222", "石碇鄉223", "瑞芳鎮224", "平溪鄉226", "雙溪鄉227", "貢寮鄉228", "新店市231", "坪林鄉232", "烏來鄉233", "永和市234", "中和市235", "土城市236", "三峽鎮237", "樹林市238", "鶯歌鎮239", "三重市241", "新莊市242", "泰山鄉243", "林口鄉244", "蘆洲市247", "五股鄉248", "八裡鄉249", "淡水鎮251", "三芝鄉252", "石門鄉253"]
13       },
14       {
15       name:"基隆市",
16       areas:["仁愛區200", "信義區201", "中正區202", "中山區203", "安樂區204", "暖暖區205", "七堵區206"]
17       }
18     ];

當選擇縣市的時候,要動態再產生次選單的區域與郵遞區號。用到 ng-change 並放入一個函式 update() 並把選擇到的值傳入函式

1 ng-change="update(SelCity)

寫下第2層選單內容

view source print?
1 $scope.update = function (selectedValue) {
2    $scope.level2 = selectedValue.areas;
3    };

其實這樣就可以完成雙層動態下拉選單了。

完整程式碼連結  : http://jsbin.com/iYEdOBI/44/edit

 

原文:http://www.dotblogs.com.tw/hsuizip/archive/2014/01/28/142382.aspx

Angular JS 下拉式清單 聯動

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.