Я хочу прочитать значения строки в datatable
, для этого я реализовал что-то вроде этого.
$('#entry-grid').on('click', '.check', function () {
var row = $(this).closest("tr");
var data = $scope.dtInstance.DataTable.row.data();
alert(data);
})
и ниже моя таблица
<table id="entry-grid" datatable="" dtinstance="dtInstanceCallback" dt-options="dtOptions" dt-columns="dtColumns" class="table table-hover"></table>
Но при отладкеЯ получаю сообщение об ошибке:
Uncaught TypeError: Невозможно прочитать свойство 'строка' из неопределенного
, не знаю, почему оно выдает ошибку
ОБНОВЛЕНИЕ
Вот мой обновленный код anuglar, который я пытаюсь решить, но это не так.
var app = angular.module('MyApp', ['datatables']);
app.controller('homeCtrl', ['$scope', '$http', 'DTOptionsBuilder', 'DTColumnBuilder',
function ($scope, $http, DTOptionsBuilder, DTColumnBuilder) {
$scope.dtColumns = [
DTColumnBuilder.newColumn(null, '').renderWith(function(data, type, full) {
return '<input type="checkbox" class="check" data-object-id="'+full.objectid+'">'
}),
DTColumnBuilder.newColumn("OBJECTID", "ID"),
DTColumnBuilder.newColumn("SERVICE_CODE", "Service Code"),
DTColumnBuilder.newColumn("COND1", "Condition 1"),
DTColumnBuilder.newColumn("COND2", "Condition 2"),
DTColumnBuilder.newColumn("COND3", "Condition 3"),
DTColumnBuilder.newColumn("SERVICE_TYPE", "Service type"),
DTColumnBuilder.newColumn("REMARK", "Remark"),
DTColumnBuilder.newColumn("DESCRIPTION", "Description")
]
$scope.dtOptions = DTOptionsBuilder.newOptions().withOption('ajax', {
url: "/home/getdata",
type: "POST"
})
.withPaginationType('full_numbers')
.withDisplayLength(10);
$scope.dtInstance = {};
$scope.dtIntanceCallback = function (instance) {
$scope.dtInstance = instance;
}
$scope.dtRebind = function () {
$scope.dtInstance.DataTable.draw()
}
$('#entry-grid').on('click', '.check', function () {
var row = $(this).closest("tr");
var data = $scope.dtInstance.DataTable.row().data(); // here is the error of row undefined
})
}])