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服务快捷的get请求
//alert('root=='+ACTIVITI.CONFIG.contextRoot);//对应/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) {
//选择字段下拉列表,触发关系符下拉
$scope.$on('to_myParentController_on_myColumnSelectModel_change',function(event,data){
$scope.$broadcast('to_myRelationController_on_myColumnSelectModel_change',data);
});
}]);
/*关系符*/
angular.module('activitiModeler').controller('myRelationController',['$rootScope', '$scope', '$http', '$timeout','$window', function ($rootScope, $scope, $http, $timeout,$window) {
$scope.myRelationDisableVar=true;
$scope.objDisableTrue=true;//加上灰背景
//接收事件-根据字段显示下拉
$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 根据一个select的值去设置另一个select的值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
标签:
Angularjs,select
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“Angularjs 根据一个select的值去设置另一个select的值方法”评论...
更新动态
2025年10月29日
2025年10月29日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]