2016-06-01 11 views
0

binden Ich habe unten Funktionen in der gleichen Winkel Controller.Wie ein Kontrollkästchen in jquery Datatable Zeile mit Winkel

$ scope.init() wird verwendet, um eine Jquery-Datentabelle zu konfigurieren.

In ersten Spalte I Ankreuzfeld und ich brauche toggleSelection() auf Ankreuzfeld Ändern/Toggle anrufen und eine Objekt-ID übergeben.

Ich bin jedoch nicht dazu in der Lage.

$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) 
} 

Unten ist HTML für Datentabelle.

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

Antwort

0

Verwenden kantige Weise:

in Ihrem HTML:

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

Und in der Steuerung:

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

0

Sie ngModel mit Kontrollkästchen verwenden können.

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

In Ihrem Controller:

$scope.checkboxes = []; 
+0

Das funktioniert nicht. Ich bekomme immer noch ein leeres Array in $ scope.checkboxes. – Vivek

Verwandte Themen