angularjs 动态从后台获取下拉框的值,只要是使用repeat指令,后台提供的是一个list的对象,里面包含value和显示的值,如下:
js文件:
//职务等级和档次/军衔等级和档次,需要从后台获取:poslist,type:2/3/4/5 $scope.getDyActivityInforItems=function(){ serviceData.getData('inforinput/getAllSelectValueByType','POST',{ type:2 }).then(function(json){ if(json.code==0){ $scope.poslist=json.content; }; }, function(json){ console.log(json); }); };
界面:
<!-- 空格空开来区分职务等级 --> <div> <label>职务等级</label> <div ng-init="getDyActivityInforItems()"> <!-- <select ng-model="item" ng-options="item as y for y in addInfo.posList"> </select> --> <select ng-model="selectedPos"> <option ng-repeat="x in poslist" value="{{x.select_code}}">{{x.select_name}}</option> </select> <span>*</span> <!-- <select ng-model="addInfo.addInfoView.positionRank" > <option value="" selected>请选择</option> </select> --> </div> </div>
===============分割线,2017年7月20日17:07:14-============
后面遇到一个问题,当新增了一个下拉选项,需要刷新了下拉的list,但就会默认显示第一个,没有获取刚开始显示界面的值,需要使用apply进行更新:
addInfo.addInfoView.positionRank=0; $scope.poslist=json.content; setTimeout(function() { $scope.$apply(function() { addInfo.addInfoView.positionRank=yuanPos; }); }, 1000);
html上:
<!-- 空格空开来区分职务等级 --> <div> <label>职务等级</label> <div ng-init="getPosMilSelectValue()"> <select ng-selected="addInfo.addInfoView.positionRank" ng-model="addInfo.addInfoView.positionRank"> <option ng-repeat="x in poslist" value="{{x.select_code}}">{{x.select_name}}</option> </select> <span>*</span> <span ng-click="addInfo.viewInput_add_item=!addInfo.viewInput_add_item;addInfo.addItemName='';selectType=2"> <a href="javascript:;" title=""> + </a></span> </div> </div>
以上这篇angularjs 动态从后台获取下拉框的值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章: