在Angular中有条件地填充选择列表

时间:2015-04-25 13:04:05

标签: angularjs

我有一个应该有条件填写的选择列表。

这是条件:
获取数据的功能

function getDocumentTypeList() {

         BaseInfoService.getDocumentTypeList().then(function (data) {
             $scope.documentTypeList = data;
             $scope.requestAuthorization.DocumentType = 0
             $scope.conditionalLabel();
             debugger;
         });

     }
////////////////////////////
     function getSpecialList() {

         BaseInfoService.getSpecialList().then(function (data) {
             $scope.specialList = data;
             debugger;
         });

     } 

有选择列表,用于定义应显示哪一个。

如果值=== 1 ng-option填写people
if value === 2 ng-option fill person
  [Fiddle] 1

由于

1 个答案:

答案 0 :(得分:1)

假设:两个列表的形状相似。

您可以使用范围函数作为源,并在该函数中执行if或switch语句以确定要使用的源。

这样的事情:



LastName

(function() {
  'use strict';
  
  angular.module('myApp', []);
  
  angular.module('myApp')
    .controller('myCtrl', myCtrl);
  
  myCtrl.$inject = ['$log'];
  function myCtrl($log) {
    var self = this;
    
    var ducks = [
      { name: 'Donald' },
      { name: 'Daisy' }
    ];
    
    var mice = [
      { name: 'Mickey' },
      { name: 'Minnie' }
    ];
    
    self.listType = 2;  //change to 1 for ducks, 2 or anything else for mice
    self.selectedThing = null;
    
    self.getListOptions = function() {
      switch(self.listType) {
          case '1': return ducks;
          case '2': 
          default:
            return mice;
      }
    }
  }
}());