javascript - 单个字段上的 AngularJS 过滤器

标签 javascript angularjs

我想使用 AngularJS 来过滤用户状态为活跃或拒绝。 但一位名叫 peter 的用户拒绝了。 当我使用选择标记方法显示状态为拒绝的用户并隐藏状态为事件的用户时。 不幸的是,它也显示了“Peter Reject”的信息,但他的状态是 Active。

我的 HTML 文件。

Status: 
<select class="select" ng-model="select1">
       <option value="Active">Active</option>     
        <option value="Reject">Reject</option>
 </select>

 <table>
      <th>Name</th>
      <th>Status</th>
    <tr ng-repeat="item in items | filter : select1>
      <td>{{item.name}}</td>
      <td>{{item.status}}</td>
    </tr>
</table>

我的 json 文件:

 [{"name":"joe jonas","status":"Active"},
{"name":"Peter Reject","status":"Active"},
{"name":"Marilyn Monroe","status":"Reject"}]

enter image description here enter image description here

我只想显示状态为“拒绝”列的用户,知道吗?? 非常感谢。

最佳答案

您正在将过滤器添加到所有列,而不是像这样将其添加到特定列。

    <tr ng-repeat="item in items | filter : {status:select1}">
      <td>{{item.name}}</td>
      <td>{{item.status}}</td>
    </tr>

上面的 tr 标签中也缺少一个结束逗号,我也添加了它!

您还需要将 select1 变量初始化为空字符串,以便初始显示所有字段。我正在使用 ng-init 来执行此操作。请引用以下行。

<div ng-controller='MyController' ng-app="myApp" ng-init="select1 = ''">

var app = angular.module('myApp', []);

app.controller('MyController', function MyController($scope) {
  $scope.items = [{
    "name": "joe jonas",
    "status": "Active"
  }, {
    "name": "Peter Reject",
    "status": "Active"
  }, {
    "name": "Marilyn Monroe",
    "status": "Reject"
  }]
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-controller='MyController' ng-app="myApp" ng-init="select1 = ''">
  <select class="select" ng-model="select1">
    <option value="Active">Active</option>
    <option value="Reject">Reject</option>
  </select>

  <table>
    <th>Name</th>
    <th>Status</th>
    <tr ng-repeat="item in items | filter : {status:select1}">
      <td>{{item.name}}</td>
      <td>{{item.status}}</td>
    </tr>
  </table>
</div>

关于javascript - 单个字段上的 AngularJS 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46439101/

相关文章:

javascript - for循环只输出最后一次迭代

javascript - 将 Canvas 图像转换为 toDataURL() 时没有滤镜效果

javascript - 在哪里可以获得 JSONRequestError 代码?

angularjs - 从浏览器查看时,ng-repeat 代码被注释掉

css - Angular 和 bootstrap UI 选项卡都处于事件状态以防止默认

javascript - Angularjs 按钮在 ng-repeat 中加载状态指令

javascript - 使 Bootstrap token 域的样式自动完成,与 Bootstrap 下拉列表相同

javascript - IE9不支持全局综合操作、圆 table 骑士游戏

twitter-bootstrap - angularjs Bootstrap 标签使用

angularjs - 基于 Controller bool 变量显示/隐藏元素AngularJS