Angularjs 根據(jù)一個select的值去設(shè)置另一個select的值方法
html:
<div ng-controller="mySelectController"> <select ng-model="myField" ng-options="Field.label for Field in names" ng-change="mySelectControllerChange()"> <option value=''>{{'SELECT.LABEL.VXI.CUSTOM.SELECT' | translate}}</option> </select> </div> <div ng-controller="myRelationController"> <select ng-model="myRelation" ng-options="relation.name for relation in relationList" > <option value=''>{{'SELECT.LABEL.VXI.CUSTOM.SELECT' | translate}}</option> </select> </div>
js:
var mySelectController=['$scope', '$http', '$rootScope', function($scope, $http, $rootScope) { //$http的method可以是get/delete/head/jsonp/post/put //$http服務(wù)快捷的get請求 //alert('root=='+ACTIVITI.CONFIG.contextRoot);//對應(yīng)/activiti-explorer/service $http({ method:'PUT', url:ACTIVITI.CONFIG.contextRoot +'/getFormFieldList' }) .success( function(data,status,headers,config){ //成功加載 $scope.names=data; }) .error( function(data,status,headers,config){ //處理錯誤 //do nothing } ); //change $scope.mySelectControllerChange=function(){ var app=angular.module('activitiModeler',[]); if($scope.myField.optionGroupId!=null && $scope.myField.optionGroupId!=''){ //有optionGroup console.log('if'); $rootScope.relationList = [{id:0,name:'等于'},{id:1,name:'不等于'},{id:2,name:'包含'}]; }else{ //沒有optionGroup console.log('else'); $rootScope.relationList = [{id:0,name:'等于'},{id:3,name:'大于'},{id:4,name:'小于'},{id:5,name:'小于等于'},{id:6,name:'大于等于'},{id:2,name:'包含'}]; } } } ];
//AngularJS $emit $broadcast $on
//change $scope.mySelectControllerChange=function(){ var data=null; if(null==$scope.myColumnSelectModel){ data={ pa:'', pb:'' }; }else{ data={ pa:$scope.myColumnSelectModel, pb:$scope.myColumnSelectModel.optionGroupId }; } $scope.$emit('to_myParentController_on_myColumnSelectModel_change',data); } /*myParentController*/ angular.module('activitiModeler').controller('myParentController',['$rootScope', '$scope', '$http', '$timeout','$window', function ($rootScope, $scope, $http, $timeout,$window) { //選擇字段下拉列表,觸發(fā)關(guān)系符下拉 $scope.$on('to_myParentController_on_myColumnSelectModel_change',function(event,data){ $scope.$broadcast('to_myRelationController_on_myColumnSelectModel_change',data); }); }]); /*關(guān)系符*/ angular.module('activitiModeler').controller('myRelationController',['$rootScope', '$scope', '$http', '$timeout','$window', function ($rootScope, $scope, $http, $timeout,$window) { $scope.myRelationDisableVar=true; $scope.objDisableTrue=true;//加上灰背景 //接收事件-根據(jù)字段顯示下拉 $scope.$on('to_myRelationController_on_myColumnSelectModel_change',function(event,data){ if(data.pa!=''){ $scope.myRelationDisableVar=false; $scope.objDisableTrue=false;//去掉灰背景 if(data.pb!=null && data.pb!=''){ //有optionGroup $scope.relationList = [{id:0,name:'等于'},{id:1,name:'不等于'},{id:2,name:'包含'}]; }else{ //沒有optionGroup $scope.relationList = [{id:0,name:'等于'},{id:3,name:'大于'},{id:4,name:'小于'},{id:5,name:'小于等于'},{id:6,name:'大于等于'},{id:2,name:'包含'}]; } }else{ $scope.relationList=null; $scope.myRelationDisableVar=true; $scope.objDisableTrue=true;//加上灰背景 } }); }]);
以上這篇Angularjs 根據(jù)一個select的值去設(shè)置另一個select的值方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Angular 2父子組件數(shù)據(jù)傳遞之@Input和@Output詳解 (上)
這篇文章主要給大家介紹了關(guān)于Angular 2父子組件數(shù)據(jù)傳遞之@Input和@Output的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編一起來看看吧。2017-07-07Angular.js中ng-if、ng-show和ng-hide的區(qū)別介紹
angularJS中的ng-show、ng-hide、ng-if指令都可以用來控制dom元素的顯示或隱藏。那么這篇文章就給大家主要介紹了Angular.js中ng-if、ng-show和ng-hide的區(qū)別,需要的朋友可以參考借鑒,下面來一起看看吧。2017-01-01Angular.js中用ng-repeat-start實現(xiàn)自定義顯示
大家都知道Angular.js可以用ng-repeat來顯示列表數(shù)據(jù),可是如果想要自定義顯示數(shù)據(jù)列表的話ng-repeat就實現(xiàn)不了了,這個時候可以利用ng-repeat-start 和 ng-repeat-end來實現(xiàn),下面通過本文來詳細(xì)看看實現(xiàn)的方法吧。2016-10-10Angular.js初始化之ng-app的自動綁定與手動綁定詳解
這篇文章主要給大家介紹了關(guān)于Angular.js初始化之ng-app的自動綁定與手動綁定的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-07-07AngularJS基礎(chǔ) ng-selected 指令簡單示例
本文主要介紹AngularJS ng-selected 指令,這里對ng-selected 指令的基礎(chǔ)資料做了詳細(xì)介紹,并附有示例代碼,有需要的小伙伴可以參考下2016-08-08詳細(xì)介紹RxJS在Angular中的應(yīng)用
本篇文章主要介紹了詳細(xì)介紹RxJS在Angular中的應(yīng)用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09