2017-03-22 10 views
0

Ich versuche, Seitenumbruch mit Bootstrap zu tun.
Dies ist mein Code Code https://jsfiddle.net/x9u8u7h5/2/
Seitenumbruch funktioniert nicht in meinem Code.Was habe ich falsch gemacht?Bootstrap Paginierung funktioniert nicht

var roleList=[{ 
"sNo"  :"1", 
"roleName":"Designer" 
}, 
{ 
"sNo"  :"2", 
"roleName":"Developer" 
}, 
{ 
"sNo"  :"3", 
"roleName":"HR Dept" 
}, 
{ 
"sNo"  :"4", 
"roleName":"Project Manager" 
} 
]; 

$(document).ready(function(){debugger 
    $('#mydata').dataTable({ 

      }); 
      empRoles(); 
      $('.update').hide(); 

}); 

function empRoles(){ 
     for(var i=0;i<roleList.length;i++) 
     { 
     var table='<tr id="row'+i+'"><td>'+roleList[i].sNo+'</td><td class="roleName" id="name'+i+'">'+roleList[i].roleName+'</td><td><button class="btn dlt btn-danger" data-toggle="modal" data-target="#confirm"><i class="fa fa-trash-o"></i>Delete</button></td><tr>'; 
     $('#roleListTable').append(table) 
     } 
} 

Antwort

2

Wie @ Ryan sagt Sie hinzufügen Ihre Daten in einer ungeraden Weise. Werfen Sie einen Blick auf diese:

$('#mydata').dataTable({ 
    "data": roleList, 
    "columns": [{ 
     "data": "sNo" 
    }, { 
     "data": "roleName", 
     "className": "roleName" 
    }, { 
     "data": "roleName", 
     "render": function() { 
      return $("<button></button>", { 
       "text": "Delete", 
       "class": "btn dlt", 
       "data-toggle": "modal", 
       "data-target": "#confirm" 
      }).prepend("<i></i>", { 
       "class": "fa fa-trash-o" 
      }).prop("outerHTML") 
     } 
    }], 
    "createdRow": function(row, data, dataIndex) { 
     $(row).attr("id", "row" + data.sNo); 
    }, 
    "rowCallback": function(row, data, index) { 
     $('td:eq(1)', row).attr("id", "name" + data.sNo); 
    } 
}); 

Dies tut alles, was Sie taten, sich über den Aufbau der Zeilen manuell und es sollten Sie viel mehr Kontrolle über Ihre Daten geben. Arbeiten JSFiddle hier. Viel Glück!

Ich denke, es könnte wahrscheinlich mehr optimiert werden, aber es tut, was Sie derzeit brauchen.

+0

Es funktioniert gut. Aber in meiner realen Anwendung bekomme ich Tabellendaten von 'Datenbank'.Für das verwende ich eine Funktion wie diese https://jsfiddle.net/s1wnpnow/ .In dieser Situation wie kann ich Daten innerhalb übergeben von '.dataTable()'? Bitte lösche meine Zweifel. Ich warte auf deine Antwort. – krish

+1

Sie haben ein paar Optionen: Sie können entweder DataTables abrufen, um Ihre Daten für Sie zu erhalten (überprüfen Sie den auskommentierten 'ajax' Abschnitt in der aktualisierten JSFiddle) oder Sie können die Daten extern zu Tabelle und fügen Sie die Zeilen von erhalten der Ajax-Aufruf (auch im aktualisierten JSFiddle beim 'click'-Ereignis der Schaltfläche). Es ist wichtig, 'DataTable' zu ​​verwenden, anstatt den älteren 'dataTable'-Aufruf zu verwenden, da Sie dadurch viel mehr Kontrolle haben. Beide Methoden sind in der aktualisierten JSFiddle, hoffe das hilft. – annoyingmouse

+0

Warum sollte ich '$ (" # getData ") verwenden? Click()' direkt kann ich Daten von db bekommen, richtig? – krish