是否可以在项目上设置第二个ng-model值?

时间:2015-07-28 15:24:44

标签: angularjs angular-datatables

我正在尝试过滤角度数据表。默认情况下,搜索框会搜索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相关的数据。如果我搜索任何非选择列表值,它会将表缩小为正确的数据。

2 个答案:

答案 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

Angular Filter

答案 1 :(得分:0)

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

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

此处还有角度演示中的过滤器示例。

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