AngularJS过滤不起作用

时间:2015-05-10 08:58:33

标签: php html angularjs

我有一个像这样的对象数组:

enter image description here

在HTML中我写道:

    <input ng-model="search.modelName" />

    <div class="market-slot col-xs-5 col-xm-5 col-md-5 col-lg-3" ng-repeat="item in items | filter:search" ng-show="item.model != false">   

当我输入一些输入时,它不适用于过滤...

UPD:

来自JSON的输入由$ http.post

获得

输出如下: enter image description here

你可以看到我是#34; Manana&#34;在输入中,只有具有&#34; modelName == Manana&#34;应该显示。

2 个答案:

答案 0 :(得分:0)

在ng docs的例子中说明:
https://docs.angularjs.org/api/ng/filter/filter

以下内容应该有效

<input ng-model="searchText" />
<div ng-repeat="item in items | filter:searchText" ng-if="item.model != false">

在文档中有更多示例,您可以在其中定义要搜索的模型的严格程度和关键字

以下声明适用于您的应用:

  • search.$(过滤模型中的任何适用密钥)
  • search.modelName(在模型中过滤 modelName 键,如果已声明)

答案 1 :(得分:0)

我在这里为你做了一个样本link

HTML来源

<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8">
<title>JS Bin</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js"></script>
<script src="script.js"></script>
</head>

<body ng-app="App">
<div ng-controller="Ctrl">
<input type="text" ng-model="search.modelName" />
<ul>
  <li ng-repeat="item in items | filter:search" ng-show="item.model != false">
    <pre>
      {{item}}
    </pre>
  </li>
</ul>
</div>
</body>

</html>

Javascript script.js代码

angular.module('App',[])
.controller('Ctrl', function($scope){
$scope.items = [
  {
    model : true,
    modelName : 'FirstModel',
    owner : 'Owner1'

  },
  {
    model : true,
    modelName : 'SecondModel',
    owner : 'Owner2'

  },
  {
    model : false,
    modelName : 'ThirdModel',
    owner : 'Owner3'        
  }
];
});