簡體   English   中英

使用首字母過濾AngularJS <select></select> html標簽

[英]Filtering AngularJS By First Letter Using <select></select> html tag

我想過濾一個ng-repeat函數(我不明白所提到的內容,請原諒我)。 目前,我想創建一個過濾器,但過濾器功能基於該選項的第一個字母,例如,在一組數組/字符串中,我想過濾第一個字母為“ A”或“ B”之類的東西那。

這是HTML的代碼

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.min.js">
    </script>
    <title>Belajar Angular</title>
    <script type="text/javascript">
      var app = angular.module('tesapp', []);
      app.controller('tesCtrl', function($scope,$http){
        $scope.DapatkanItem = function(){
          $http.get('json/item.json').success(function(data){
            $scope.item = data;
          });
        };

        $scope.DapatkanItem();
      });
    </script>
  </head>
  <body ng-app="tesapp" ng-controller="tesCtrl">
    <h1>Mencoba Filtering</h1>
    <div class="col col-4">
      <label class="select">
        <select name="gender" ng-model="alfabet">
          <option value="0" selected disabled>Alphabet</option>
          <option value="1">A</option>
          <option value="2">B</option>
          <option value="3">C</option>
        </select>
      </label>
    </div>
    <div ng-switch="alfabet">
      <div ng-switch-default>
        <ul ng-repeat="tes in item.stores | orderBy: 'preparation' | orderBy: 'name'">
          <li ng-if="tes.preparation == ''">{{tes.name}} kosong</li>
          <li ng-if="tes.preparation == '1'">{{tes.name}} satu</li>
          <li ng-if="tes.preparation == '2'">{{tes.name}} dua</li>
          <li ng-if="tes.preparation == '3'">{{tes.name}} tiga</li>
        </ul>
      </div>
      <div ng-switch-when="1">
        <ul ng-repeat="tes in item.stores | orderBy: 'preparation'">
          <li>{{tes.name}}</li>
        </ul>
      </div>
    </div>

  </body>
</html>

你怎么看? 例如,我要按數組的第一個字母“ A”進行過濾,然后在<select>標記中<select> A並完成,但是在這種情況下,問題是我不知道必須使用什么功能用於按首字母過濾。

我猜你可以看到這個線程: 如何在ng-repeat-in-angularjs中使用正則表達式,我將選擇范圍更改為

<select name="gender" ng-model="alfabet">
  <option value="^">Alphabet</option>
  <option value="^(A|a)">A</option>
  <option value="^(B|b)">B</option>
  <option value="^(C|c)">C</option>
</select>

然后使用以下過濾器

ng-repeat="tes in item.stores | regex:'name':alfabet | orderBy: 'preparation' | orderBy: 'name'"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM