如何使用angular

时间:2016-06-01 13:16:27

标签: javascript jquery angularjs checkbox datatables

我在同一个角度控制器中有以下功能。

$ scope.init()用于配置Jquery数据表。

在第一列中,我有复选框,我需要在复选框更改/切换时调用 toggleSelection()并传递对象ID。

但是,我无法这样做。

$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。

<table id="testTable" class="table table-bordered table-condensed table-striped table-hover "></table>

2 个答案:

答案 0 :(得分:0)

使用更多角度方式:

在你的HTML中:

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

在控制器中:

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

答案 1 :(得分:0)

您可以使用ngModel复选框。

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

在您的控制器中:

$scope.checkboxes = [];