AngularJS在表格内容中搜索页面

时间:2015-01-21 07:39:14

标签: angularjs search ng-repeat

您好我是这个框架的新手,我必须更改一些webapp。

已经有这样的事情:

<input type="text" class="catalog-search input input--large input--full" ng-model="search">

<ul class="catalog-list catalog-scroll">
    <li ng-repeat="rodzic in list | groupBy:'styl' | toArray:true | orderBy:!'$key'">
        {{rodzic.$key}}
     <ul>
        <li ng-repeat="dziecko in rodzic | filter:search | bookmark:search" ng-class="{active:isActiveTab(dziecko)}" ng-click="openItem(dziecko)">
            {{dziecko.rodzina}}&nbsp;
            <b>{{dziecko.page}}</b>
        </li>
    </ul>
</li>
</ul>

上面的代码为pdf文件创建了目录。当我在输入字段中输入一些单词时,搜索工作正常,但我不能按数字搜索,让我们说我想找到第3页。

我应该更改哪些内容才能找到页码?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

我没有看到按数字搜索的问题。我放了your code into Plnkr的简化版本,我可以通过单词或数字进行搜索 - 即使数字有时是数值,有时也是字符串。

搜索6或7(数字值)或3(字符串&#39; 333&#39;)。两者都有效。

您可以修改my Plunk以显示问题吗?

这是我的HTML:

<body ng-controller="MainCtrl">
  <input type="text" class="catalog-search input input--large input--full" ng-model="search">
  <ul class="catalog-list catalog-scroll">
    <li ng-repeat="rodzic in list">
      {{rodzic.$key}}
      <ul>
        <li ng-repeat="dziecko in rodzic | filter:search" ng-class="{active:isActiveTab(dziecko)}" ng-click="openItem(dziecko)">
          {{dziecko.rodzina}}&nbsp;
          <b>{{dziecko.page}}</b>
        </li>
      </ul>
    </li>
  </ul>
</body>

这是我的控制器,其中包含一些模拟数据,我认为这些模拟数据可以很好地用于此演示。

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

app.controller('MainCtrl', function($scope) {
  $scope.name = 'World';
  $scope.list = [
    [{
      rodzina: 'This is one',
      page: '111'
    }, {
      rodzina: 'This is two',
      page: '222'
    }, {
      rodzina: 'This is three',
      page: '333'
    }],
    [{
      rodzina: 'This is four',
      page: '444'
    }, {
      rodzina: 'This is five',
      page: '555'
    }, {
      rodzina: 'This is six',
      page: 666
    }],
    [{
      rodzina: 'This is seven',
      page: 777
    }, {
      rodzina: 'This is eight',
      page: '888'
    }, {
      rodzina: 'This is nine',
      page: '999'
    }],
  ]
});