角度转换和过滤表

时间:2016-07-18 11:52:21

标签: javascript angularjs filter

我有一个简单的搜索表 -



<table>
  <thead>
    <tr>
      <th> Name </th>
      <th> Lastname </th>
      <th> Job Title </th>
    </tr>
   </thead>
  
  <tbody>
    <tr data-ng-repeat="data in ctrl.data | filter : searchQuery">
      <td>{{data.name}}</td>
      <td>{{data.lastname}}</td>
      <td>{{data.jobtitle | translate}}</td>
    </tr>  
  </tbody>
</table>

<input type="text" data-ng-model="searchQuery"/>
&#13;
&#13;
&#13;

由于职位名称已被翻译 - 搜索仅适用于原始价值 - 所以是和#34;开发人员&#34;但没有任何翻译。

是否有可能使其与翻译一起使用?

1 个答案:

答案 0 :(得分:1)

您可以创建一个过滤器来处理翻译

过滤

app.filter('translateFilter', function($translate) {
  return function(input, param) {
    if (!param) {
      return input;
    }
    var searchVal = param.toLowerCase();
    var result = [];
    angular.forEach(input, function(item) {
      var translated = $translate.instant(item.jobtitle);
      if (translated.toLowerCase().indexOf(searchVal) > -1) {
        result.push(item);
      }
    });
    return result;
  };
});

并像这样使用它:

<强> HTML

<tr data-ng-repeat="data in ctrl.data | translateFilter:searchQuery">