国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Angularjs自定義指令實現三級聯動 選擇地理位置

2019-11-19 17:36:43
字體:
來源:轉載
供稿:網友

Angularjs自定義指令實現三級聯動效果,先上圖


代碼

<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="">省份/直

主站蜘蛛池模板:
龙南县|
西畴县|
威信县|
祥云县|
建昌县|
甘泉县|
新兴县|
浮梁县|
尉犁县|
菏泽市|
宝鸡市|
临澧县|
正蓝旗|
青岛市|
柞水县|
柳江县|
长葛市|
昆山市|
阜宁县|
股票|
平塘县|
诸暨市|
含山县|
罗甸县|
南昌县|
荆州市|
永宁县|
临江市|
陕西省|
岗巴县|
赤峰市|
长汀县|
嘉兴市|
本溪市|
太谷县|
壤塘县|
农安县|
盐山县|
广饶县|
南丹县|
长海县|