我正在尝试过滤角度数据表。默认情况下,搜索框会搜索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相关的数据。如果我搜索任何非选择列表值,它会将表缩小为正确的数据。
答案 0 :(得分:0)
I think what you are looking at is way to filter by properties if so then yes its possible to filter for a particular property. You can have filter on multiple properties on same object.
<tr ng-repeat="waiver in model.waivers | filter:{CarrierID:model.searchValue,Name:model.searchValue}"></tr>
In the above example you are filtering on a particular property of the model carrierType
答案 1 :(得分:0)
我通常只是制作自己的自定义过滤器进行搜索。这是我为演示应用程序编写的一个愚蠢的例子。
https://github.com/jkrot/clubmanager/blob/master/src/app/index.js
此处还有角度演示中的过滤器示例。