0

我正在尝试过滤角度数据表。默认情况下,搜索框会搜索 ng-model 中的所有值并相应地过滤表。

我需要将选择列表的 ID 存储在数据库中,但我想按列表上显示的名称进行搜索:

 <tbody>
    <tr ng-repeat="waiver in model.waivers | filter:model.searchValue">
        <td><select ng-model="waiver.CarrierID" ng-options="carrier.Key as carrier.Value for carrier in model.Carriers" ng-change="UpdateLists(waiver)"></select></td>
        <td><select ng-model="waiver.CategoryID" ng-options="category.Key as category.Value for category in model.Categories"></select></td>
        //Several more TD's with selectLists etc
    </tr>
</tbody>

当我在搜索框中输入 1234 时,它会过滤到一个运营商。我想要做的是把UPS放在盒子里,让它过滤。

更新:

我现在已将运营商名称添加到模型中,因此 waiver.CarrierName 具有我想要搜索的值。我仍然无法通过该值缩小结果范围:

<td style="display:none"><input type="hidden" ng-model="waiver.CarrierName" />

这样,它仍然无法找到与 UPS 相关的数据。如果我搜索任何非选择列表值,它会将表缩小为正确的数据。

4

2 回答 2

0

我认为您正在查看的是按属性过滤的方法,如果是这样,则可以过滤特定属性。您可以对同一对象的多个属性进行过滤。

<tr ng-repeat="waiver in model.waivers | filter:{CarrierID:model.searchValue,Name:model.searchValue}"></tr>

在上面的示例中,您正在过滤模型的特定属性carrierType

角度过滤器

于 2015-07-28T15:51:51.650 回答
0

我通常只是制作自己的自定义过滤器进行搜索。这是我为演示应用程序编写的一个愚蠢示例。

https://github.com/jkrot/clubmanager/blob/master/src/app/index.js

这里也是角度演示中的过滤器示例。

https://docs.angularjs.org/tutorial/step_09

于 2015-07-28T19:08:40.380 回答