6

我有一张桌子。我想根据在选择框中选择的值来过滤表格。比较值是选择框中的 {{pipe.pipe_id}} 和表中的 {{dimension.pipe_id}}。猜猜有一个简单的解决方案吗?有什么建议吗?

Pipe:
    <select  id="select01">
        <option ng-repeat="pipe in pipes">{{pipe.code}} - {{pipe.title_en}}</option>
    </select>  


    <table class="table table-striped">
        <thead>
            <tr>
                <th>Pipe</th>
                <th>Size</th>
                <th>Inner diameter</th>
                <th>Outer diameter</th>
            </tr>
        </thead>
        <tbody>
            <tr ng-repeat="dimension in dimensions" >
                <td>{{dimension.pipe_id}}</td>
                <td>{{dimension.nominalsize}}</td>
                <td>{{dimension.innerdiameter}}</td>
                <td>{{dimension.outerdiameter}}</td>
            </tr>
        </tbody>
    </table>
4

2 回答 2

9

我建议使用ng-filter

此链接是一个使用待办事项列表的简单示例。 使用 ng-filter 的 jsfiddle

您将需要绑定您正在使用的任何输入ng-model="varname"

ng-filter 默认为数组中的所有字段。它可以过滤到单个列或指向控制器中的函数。

搜索字段

<select ng-model="searchparam">
   <option value="1">One</option>
   <option value="2">Two</option>
</select>

搜索单个列

<select ng-model="searchparam.columnOne">
   <option value="1">One</option>
   <option value="2">Two</option>
</select>

重复部分
(即使您的输入指定了特定列,过滤器模型也保持不变)

<tr ng-repeat="dimension in dimensions | filter: searchparam">
     <td>{{dimension.columnOne}}</td>
     <td>{{dimension.columnTwo}}</td>
</tr>
于 2013-05-24T15:08:02.000 回答
1

我认为您正在寻找ng-filterfilter过滤器:http ://docs.angularjs.org/api/ng.filter:filter

于 2013-05-24T14:10:34.060 回答