AngularJS -如何维护一个表的选中票证id

AngularJS - How to maintain checked ticket ids of a table

本文关键字:id 一个 何维护 AngularJS 维护      更新时间:2023-09-26

我有一个包含next &之前的页面。我能够导航到下一个/以前的页面使用next &以前的按钮。

上一个&下一页操作调用(控制器方法)我推检查票id通过推在一个数组$scope.checkedTicketIds

angular.forEach($scope.tickets, function(ticket) {
  if(ticket.checked) {
    $scope.checkedTicketIds.push(ticket.id);
  }
});

HTML代码是

<div class="mail-tools tooltip-demo m-t-md">
    <div class="btn-group pull-right">
        <button ng-click="previousPage()" ng-disabled="previousPageBtnDisabled()" class="btn btn-white btn-sm"><i class="fa fa-arrow-left"></i></button>
        <button ng-click="nextPage()" ng-disabled="nextPageBtnDisabled()" class="btn btn-white btn-sm"><i class="fa fa-arrow-right"></i></button>
    </div>
    <div class="input-group">
        <div class="input-group-btn" dropdown>
            <button ng-disabled="ticketsChecked()" class="btn btn-white dropdown-toggle pull-left" dropdown-toggle type="button">{{'ACTIONS' | translate}} <span class="caret"></span></button>
            <ul class="dropdown-menu pull-left">
                <li ng-repeat="(key, value) in actions"><a ng-click="convertAction(key)">{{key | translate}}</a></li>
            </ul>
        </div>
    </div>
</div>

在控制器中点击上一页按钮调用方法

    $scope.previousPage = function() {
        angular.forEach($scope.tickets, function(ticket) {
            if(ticket.checked) {
                $scope.checkedTicketIds.push(ticket.id);
            }
        });
        $scope.ticketsUpdatedQueryCriteria.page = --$scope.page;
                    Tickets.query($scope.ticketsUpdatedQueryCriteria).then(function(tickets) {
                    $scope.tickets = tickets.data;
                    $scope.ticketsPageData = tickets.cursor; 
       });
    }; 

如何在取消选中&我想为进一步的批量操作维护选中的票证id,比如更改一个/多个票证的状态。我该怎么做呢?

我在jsbin上实现了一个例子,使用一个独立的检查列表。

请看:

http://jsbin.com/rudifa/3/

希望能帮到你。