У меня есть функции в одном и том же угловом контроллере.
$ scope.init() используется для настройки JQuery datatable.
В первом столбце у меня есть флажок, и мне нужно вызвать toggleSelection() при изменении/переключении флажка и передать идентификатор объекта.
Однако я не могу этого сделать.
$scope.init = function {
var testTable = $('#testTable').dataTable($.extend({
aaSorting:[[5, 'desc']],
fnRowCallback: function (nRow, object, iDisplayIndex){
//some code to format rows
},
aoColumns: [{
mData: "id", sTitle: "", bSortable: false,
mRender:function(data, type, question){
return '<input type="checkbox" ng-click="toggleSelection(' + object.id + ')"/>';
}},
//....Other columns
],
fnServerData: TestApiHandler
}, defaultTableSettings))
//TestApiHandler: Already configured for Ajax call
//defaultTableSettings: dafault setting for datatable
}
$scope.toggleSelection = function(id) {
console.log('Object Id' + id)
}
Ниже приведен HTML для datatable.
<table id="testTable" class="table table-bordered table-condensed table-striped table-hover "></table>
Используйте более угловой путь:
В вашем html:
<table...> <input ng-repeat="chbx in checkboxes" type="checkbox" ng-click="toggleSelection({{chbx.id}})"/>... </table>
И в контроллере:
$scope.checkboxes = [{id: 42},...];