Angularjs自定義指令實現(xiàn)三級聯(lián)動 選擇地理位置
更新時間:2017年02月13日 11:05:57 作者:timelessmemoryli
這篇文章主要介紹了Angularjs自定義指令實現(xiàn)三級聯(lián)動,選擇地理位置,具有一定的參考價值,感興趣的小伙伴們可以參考一下
Angularjs自定義指令實現(xiàn)三級聯(lián)動效果,先上圖
代碼
<html lang="zh-CN" ng-app="myApp"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script src="jquery.min.js"></script> <script src="angular.js"></script> <script src="bootstrap.min.js"></script> <link rel="stylesheet" href="bootstrap.min.css" rel="external nofollow" > <style type="text/css"> select { width : 116px; } .selectLocation select { display: block; float: left; margin-bottom: 2px; } </style> <script type="text/javascript"> var myApp = angular.module('myApp', []); myApp.controller('Ctrl', ['$scope', 'utilsService', function($scope, utilsService){ $scope.location = ''; $scope.$watch('location', function(newValue) { console.log(newValue) console.log(utilsService.isEmptyObj(newValue)) }) // if (isEmptyObj($scope.location)) { // //error // } }]); myApp.factory("utilsService", function() { return { isEmptyObj : function(obj) { var flag = true; for(var i in obj) { if (obj[i] != '') { flag = false; break; } } return flag; } } }) myApp.directive("custLocation", ['$http', function($http) { return { restrict: 'A', scope: { ngModel : '=' }, templateUrl: 'tmpl.html', link: function(scope, elem, attrs) { scope.country = ''; scope.province = ''; scope.city = ''; scope.detailAddress = ''; $http.get("location.json").success(function(data) { scope.countryList = data.country; }); scope.$watch('detailAddress', function(newValue) { // console.log(scope.country.name + scope.province.name + scope.city + newValue) scope.ngModel = { "country" : scope.country == null || scope.country == '' ? '' : scope.country.name, "province" : scope.province == null || scope.province == '' ? '' : scope.province.name, "city" : scope.city || '', "detailAddress" : newValue }; }); scope.changeCountry = function() { if (scope.country == null) { scope.country = ''; scope.province = ''; scope.city = ''; scope.detailAddress = ''; scope.ngModel = ''; } else { scope.ngModel = { "country" : scope.country.name, "province" : scope.province == null || scope.province == '' ? '' : scope.province.name, "city" : scope.city || '', "detailAddress" : scope.detailAddress }; } } scope.changeProvince = function () { scope.ngModel = { "country" : scope.country.name, "province" : scope.province == null || scope.province == '' ? '' : scope.province.name, "city" : scope.city || '', "detailAddress" : scope.detailAddress }; } scope.changeCity = function() { scope.ngModel = { "country" : scope.country.name, "province" : scope.province == null || scope.province == '' ? '' : scope.province.name, "city" : scope.city || '', "detailAddress" : scope.detailAddress }; } } }; }]); </script> </head> <body ng-controller="Ctrl"> <div cust-location ng-model="location"></div> </body> </html>
tmpl.html
<div class="selectLocation"> <div> <select class="btn btn-info btn-sm" ng-change="changeCountry()" ng-model="country" ng-options="C.name for C in countryList"> <option value="">國家</option> </select> </div> <div> <select class="btn btn-info btn-sm" ng-change="changeProvince()" ng-model="province" ng-options="p.name for p in country.province"> <option value="">省份/直轄市</option> </select> </div> <div> <select class="btn btn-info btn-sm" ng-change="changeCity()" ng-model="city" ng-options="c for c in province.city"> <option value="">市</option> </select> </div> <div style="width:348px;"> <input type="text" class="form-control" ng-model="detailAddress" placeholder="詳細地址" ng-disabled="country=='' || country==null" /> </div> </div>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
angularjs循環(huán)對象屬性實現(xiàn)動態(tài)列的思路詳解
這篇文章主要介紹了angularjs循環(huán)對象屬性實現(xiàn)動態(tài)列的思路詳解,本文給大家分享一個demo代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-11-11監(jiān)聽angularJs列表數(shù)據(jù)是否渲染完畢的方法示例
前端在做數(shù)據(jù)渲染的時候經(jīng)常會遇到在數(shù)據(jù)渲染完畢后執(zhí)行某些操作,這篇文章主要介紹了監(jiān)聽angularJs列表數(shù)據(jù)是否渲染完畢的方法示例,非常具有實用價值,需要的朋友可以參考下2018-11-11Angular.JS中的指令引用template與指令當(dāng)做屬性詳解
這篇文章主要介紹了Angular.JS中的指令引用template與指令當(dāng)做屬性的相關(guān)資料,文中介紹的非常詳細,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-03-03AngularJs 利用百度地圖API 定位當(dāng)前位置 獲取地址信息
本文主要介紹了AngularJs 利用百度地圖API 定位當(dāng)前位置 獲取地址信息的方法步驟。具有一定的參考價值,下面跟著小編一起來看下吧2017-01-01ng-events類似ionic中Events的angular全局事件
這篇文章主要介紹了ng-events類似ionic中Events的angular全局事件,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-09-09