检索多页表中DataTable的最后一行

时间:2018-10-05 07:04:15

标签: jquery datatables

我正在尝试检索DataTable的最后一行,并在第二列上启用它的下拉列表。我有两页数据。因此,我使用了以下代码:

 $('#orders tr:last td:eq(2)').find('select').removeAttr('disabled');

但是,它给了我第一页的最后一行而不是第二页的最后一行,这是我想要检索的内容,因为第二页的最后一行实际上是表格的最后一行。

如何使用jquery做到这一点?

2 个答案:

答案 0 :(得分:1)

使用API​​。您可以这样做:

$('#orders')
  .DataTable()    //get API instance
  .row(':last')   //get the last row 
  .nodes()        //get the row node
  .to$()          //convert node to jQuery object
  .find('select')
  .removeAttr('disabled');

答案 1 :(得分:1)

您可以找到有关行选择器here的更多信息。下面是示例,

 var app = angular.module('myApp', []);
    app.controller('customersCtrl', function($scope, $http) {
        $http.get("https://www.w3schools.com/angular/customers.php").then(function(response) {
            $scope.myData = response.data.records;
        });
        $scope.toggleCursor = 'desc';
        $scope.myOrderBy = 'Name';
        $scope.orderByMe = function(sort) {
             $scope.myOrderBy = sort;
             $scope.sortArry = $scope.myData.sort();
             if($scope.toggleCursor == 'desc')
                {
                    $scope.toggleCursor = 'asc';
                    $scope.myOrderBy = $scope.sortArry;
                }        
             else
             {
                 $scope.toggleCursor = 'desc';
                 $scope.myOrderBy =  $scope.sortArry.reverse();
             }
        }
    });
$(document).ready(function() {
  $('#orders').DataTable();
});

function callme() {
  var last_row = $('#orders').DataTable().row(':last').nodes().to$();
  last_row.find('select').removeAttr('disabled')
}