2016-07-24 38 views
0

我在下面的Angular HTML中有一個選擇下拉菜單。要求是根據用戶在文本輸入框中輸入的文本過濾下拉值。此選擇中的下拉值是op 如何添加過濾器。基於文本輸入值的ng-options過濾器

<select class="form-control" size="12" data-ng-model="selItem.SelectedItems" 
ng-options="option as displaycodeandlabel(option,selItem.isCodeonLabel)disable when option.disabled==true for option in ::a.sData"></select> 

回答

0

不知道你data結構,但通常你可以使用原生filter

這裏有一個工作演示

(function() { 
 
    angular 
 
    .module('app', []) 
 
    .controller('MainCtrl', MainCtrl); 
 

 
    MainCtrl.$inject = ['$scope']; 
 

 
    function MainCtrl($scope) { 
 
    $scope.a = {}; 
 
    $scope.a.sData = [ 
 
     { 
 
      "vm":"0000", 
 
      "dm":"U.S. city average", 
 
      "disabled":false 
 
     }, 
 
     { 
 
      "vm":"0100", 
 
      "dm":"Northeast urban", 
 
      "disabled":false 
 
     }, 
 
     { 
 
      "vm":"0200", 
 
      "dm":"Midwest urban", 
 
      "disabled":false 
 
     } 
 
    ]; 
 

 
    $scope.displayCodeandLabel = function(item, displayCode) { 
 
     return displayCode ? item.vm + " " + item.dm : item.dm;  
 
    } 
 
    } 
 
})();
<!DOCTYPE html> 
 
<html ng-app="app"> 
 

 
<head> 
 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.min.js"></script> 
 
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.min.css"> 
 
</head> 
 

 
<body ng-controller="MainCtrl"> 
 
    <div class="col-md-12"> 
 
    <label for="search">Search</label> 
 
    <input type="text" id="search" class="form-control" placeholder="Search" ng-model="search"> 
 
    <hr> 
 
    <select class="form-control" size="12" data-ng-model="selItem.SelectedItems" ng-options="option as displayCodeandLabel(option, selItem.isCodeonLabel) 
 
disable when option.disabled == true for option in a.sData | filter: search"></select> 
 
    </div> 
 
</body> 
 

 
</html>

+0

不知何故這是行不通的 – user1015388

+0

編輯您的問題發佈您的數據結構吧。 – developer033

+0

「選項」:[{ \t \t \t \t 「VM」: 「0000」, \t \t \t \t 「DM」: 「美國城市平均水平」, \t \t \t \t 「已禁用」:假 \t \t \t} { \t \t \t \t 「VM」: 「0100」, \t \t \t \t 「DM」: 「東北城市」, \t \t \t \t 「已禁用」:假 \t \t \t},{ \t \t \t \t 「VM」: 「0200」, \t \t \t \t 「DM」: 「中西部城市」, \t \t \t \t「禁用「:假 \t \t \t} \t \t \t] – user1015388