Как привязать флажок в строке данных JQuery, используя угловой

0

У меня есть функции в одном и том же угловом контроллере.

$ 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>
Теги:
datatables
checkbox

2 ответа

0
Лучший ответ

Используйте более угловой путь:

В вашем html:

<table...> <input ng-repeat="chbx in checkboxes" type="checkbox" ng-click="toggleSelection({{chbx.id}})"/>... </table>

И в контроллере:

$scope.checkboxes = [{id: 42},...];

0

Вы можете использовать ngModel с флажками.

<input ng-model="checkboxes[object.id]" ng-click=... />

В вашем контроллере:

$scope.checkboxes = [];
  • 0
    Это не работает. Я все еще получаю пустой массив в $ scope.checkboxes.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню