在Angular Smart Table中选择不使用ng-model的st-search

时间:2015-12-31 11:32:22

标签: javascript angularjs select smart-table

我在我的应用程序中使用AngularJS智能表。我正在使用select过滤我的搜索。这是我的代码

<select st-search="Status" st-input-event="change" ng-model="filter.Status"  st-delay="false" class="form-control">
    <option value="">Select Status</option>
    <option value="{{i.Status}}" ng-repeat="i in topicStatus">{{i.Status}}</option>
</select>

这是我的AngularJS代码:

$scope.topicStatus = [
    {
        Id: 1,
        Status: 'Recent'
    },
    {
        Id: 2,
        Status: 'Most Viewed'
    },
    {
        Id: 3,
        Status: 'Featured'
    },
    {
        Id: 4,
        Status: 'Removed'
    },
    {
        Id: 5,
        Status: 'Featured'
    },
    {
        Id: 6,
        Status: 'Pending'
    }
];
$scope.filter = {};

一旦我将ng-model放入选择状态,我的表就会变空。基本上我保存用户输入的搜索过滤器以供将来过滤器使用,所以我想选择select的值,但是ng-model无效。

需要帮助

1 个答案:

答案 0 :(得分:0)

您应该使用表格内的st-sort属性(如其所示),如下所示:

<thead>
    <tr>
        <th st-sort="firstName">first name</th>
        ...
    </tr>
    <tr>
        <th><input st-search="firstName"></th>
    </tr>
</thead>

如果你想在指令之外进行搜索,可以说外部<input type="text"><select ..>你应该编写自己的指令来处理这个问题。

幸运的是,你不是第一个需要这个用例的人。我可以推荐你this github问题,这个plunker解释了如何从表外过滤/搜索。

我把上面的plunker略微修改它以包含一个简单的选择。

Plunker