Javascript 在angularjs控制器中为datatable的next按钮onclick编写事件处理程序
我正在尝试为datatable中的页面更改编写事件处理程序。以下是现有代码。。这些库包含在下面代码的baselayout中 DefaultView.cshtml DefaultService.jsJavascript 在angularjs控制器中为datatable的next按钮onclick编写事件处理程序,javascript,angularjs,asp.net-mvc,razor,angular-datatables,Javascript,Angularjs,Asp.net Mvc,Razor,Angular Datatables,我正在尝试为datatable中的页面更改编写事件处理程序。以下是现有代码。。这些库包含在下面代码的baselayout中 DefaultView.cshtml DefaultService.js AMSApp.controller('DefaultController', ['$rootScope', 'DefaultService', 'DTOptionsBuilder', 'DTColumnBuilder', function ($rootScope, Defa
AMSApp.controller('DefaultController', ['$rootScope', 'DefaultService', 'DTOptionsBuilder', 'DTColumnBuilder',
function ($rootScope, DefaultService, DTOptionsBuilder, DTColumnBuilder) {
var self = this;
this.Users = {};
this.GetAllUsers = function () {
$rootScope.CloseAlerts();
DefaultService.GetAllUsers().success(function (result) {
self.Users = result;
self.loadd();
}).catch(function (error) {
$rootScope.ErrorMsg = "OOPS some thing went wrong. Please try again.";
});
}
this.GetAllUsers();
this.loadd = function () {
$rootScope.dtColumns = [
DTColumnBuilder.newColumn('DisplayName').withTitle('UserName'),
DTColumnBuilder.newColumn('IsSNA').withTitle('IsSNA'),
DTColumnBuilder.newColumn('IsAdmin').withTitle('IsAdmin'),
DTColumnBuilder.newColumn('IsDownloadPermitted').withTitle('DownloadPermitted')
];
$rootScope.dtOptions = DTOptionsBuilder.newOptions()
.withOption('data', self.Users)
.withDisplayLength(10);
}
}]);
/*
Button Click handler:
$("#customerSearchButton").on("click", function (event) {
$.ajax({
url: "",
type: "post",
data: { searchText: searchText }
}).done(function (result) {
Table.clear().draw();
Table.rows.add(result).draw();
}).fail(function (jqXHR, textStatus, errorThrown) {
// needs to implement if it fails
});
}
*/
AMSApp.service('DefaultService', function ($http) {
this.GetAllUsers = function () {
return $http.get('/Common/User/GetAllUsers');
}
});
我尝试了几个版本,如上面注释的代码中的版本。。但我需要在控制器中执行类似的操作
/*need something like this*/
DTOptionsBuilder.on('page.dt', function () {
var info = table.page.info();
console.log("hey i got eexecuted");
$('#pageInfo').html('Showing page: ' + info.page + ' of ' + info.pages);
});
首先,可能吗如果没有,还有什么其他选择
注意:我不想给表提供id。我尝试添加
。withoptions('page.dt',callback)
-但这并不像预期的那样有效。请阅读并阅读。添加事件监听器和创建DOM最好在使用内置jQueryAPI的指令内完成。这将通过核心anguljs指令避免与DOM操作的冲突。还考虑使用AngularJS指令来包装JQuery数据项。
AMSApp.service('DefaultService', function ($http) {
this.GetAllUsers = function () {
return $http.get('/Common/User/GetAllUsers');
}
});
/*need something like this*/
DTOptionsBuilder.on('page.dt', function () {
var info = table.page.info();
console.log("hey i got eexecuted");
$('#pageInfo').html('Showing page: ' + info.page + ' of ' + info.pages);
});