ng-repeat或ng-options如何自动选择表格中的最后一行?

时间:2015-12-04 08:37:46

标签: angularjs

如何自动选择表格中的最后一行 ng-repeat =" selectedOrder.products"中的单位使用像$ index == desc或者ng-options

这样的选择
   <div class="search" ng-show="selectedOrder">
            <table class="table table-bordered">
                <tr><th>Item</th><th>Name</th><th>ValueToday</th></tr>
                <tr ng-repeat="unit in selectedOrder.products">
                    <td><img ng-  src="http:images/thumbnails/{{unit.shortname}}_tn.jpg" width=40 height=40
             alt="{{ unit.shortname | limitTo: 18}} Photo"></td>
                    <td>{{unit.name | limitTo:18 }}</td>
                    <td>{{unit.valuetoday| currency:"£"}} </td>
                </tr>
                 </table>

3 个答案:

答案 0 :(得分:1)

在ng-repeat中,您可以使用$last特殊变量来应用某些内容,只要它是最后一个元素。见:https://docs.angularjs.org/api/ng/directive/ngRepeat

您可以将其用作标记中要执行的任何操作的条件。喜欢

<img class="{{$last ? 'selected'}}" ng-class="{'selected': $last}" ng-if="$last" ....>

或者你喜欢(这些只是例子)

始终牢记使用角度意味着您必须编辑模型以将更改应用于视图,因此如果您想要选择元素,则必须对模型执行某些操作,以便元素包含值这使它被选中,然后你的观点应反映这一点 例如,在您的控制器中,您可以检查ng-repeat数组中的最后一个元素并添加selected变量,然后在视图中执行某些操作以使其看起来像您的元素被选中(例如:{{ 1}})否则,通过处理视图,只有你可以看到使用ng-class="{'selected': element.selected}"选择元素,但它不会在你的模型中真正被选中

实际上在ng-options中(所以我们讨论的是选择)你必须改变你的模型以反映你的选择。例如,如果您的选择具有如下属性:$last,那么在控制器中将ng-model="selected"变量设置为包含$scope.selected

答案 1 :(得分:1)

<div class="search" ng-show="selectedOrder">
            <table class="table table-bordered">
                <tr><th>Item</th><th>Name</th><th>ValueToday</th></tr>
                <tr ng-repeat="unit in selectedOrder.products" ng-if="$last">
                    <td><img ng-  src="http:images/thumbnails/{{unit.shortname}}_tn.jpg" width=40 height=40
             alt="{{ unit.shortname | limitTo: 18}} Photo"></td>
                    <td>{{unit.name | limitTo:18 }}</td>
                    <td>{{unit.valuetoday| currency:"£"}} </td>
                </tr>
                 </table>

只会给你选择的最后一行

答案 2 :(得分:0)

您可以使用ng-if="$index == $last"

之类的内容