我正在尝试检索DataTable的最后一行,并在第二列上启用它的下拉列表。我有两页数据。因此,我使用了以下代码:
$('#orders tr:last td:eq(2)').find('select').removeAttr('disabled');
但是,它给了我第一页的最后一行而不是第二页的最后一行,这是我想要检索的内容,因为第二页的最后一行实际上是表格的最后一行。
如何使用jquery做到这一点?
答案 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')
}