Ich benutze datatables Server-Seite und ich habe ein Problem, wenn ich eine Server-Seite Daten mit Spaltenfilter suchen, da der Renderwert nicht mit dem Datenbankfeld Wert übereinstimmt. Zum Beispiel: In meiner Datenbank habe ich 0 und 1 in der Statusspalte. Und in meinem Datatable zeige ich die Statusspalte mit einem Render an, um das zu erhalten: wenn Status = 0 dann werde ich disabled anzeigen und wenn ich 1 habe, werde ich enabled anzeigen.Jquery Datatables Filterung mit render
Hier ist ein Ausschnitt aus meinem Code:
$(document).ready(function() {
/* ----------------------------------------------------- */
/* ----------------- DATATABLES HISTORY ---------------- */
/* ----------------------------------------------------- */
$('#historyTable').DataTable({
dom: "t<'col-sm-5'i><'col-sm-7'p>",
autoWidth: true,
aaSorting: [[1, 'asc']],
serverSide: true,
lengthChange: false,
ajax: {
url: 'history',
method: 'POST'
}
columns: [
{data: "id"},
{data: "name", orderData: [ 1, 0 ]},
{data: "status", render: renderStatus, orderData: [ 2, 0 ]}
]
});
var historyTable = $('#historyTable').DataTable();
// Render status
function renderStatus(data, type, dataToSet){
if(dataToSet.status == '1'){
return "enabled";
}else{
return "disabled";
}
}
// Global search
$('#historySearch').on('keyup', function(){
historyTable.search($(this).val()).draw();
});
// Length menu
$('#historyMenu').on('change', function(){
historyTable.page.len($(this).val()).draw();
});
// Setup - add a text input to each footer cell
$('#historyTable tfoot td').each(function() {
var title = $('#historyTable tfoot td').eq($(this).index()).text();
$(this).html('<input type="text" />');
});
// Apply the search
historyTable.columns().eq(0).each(function (colIdx) {
$('input', historyTable.column(colIdx).footer()).on('keyup change', function() {
historyTable
.column(colIdx)
.search(this.value)
.draw();
});
});
});
Wissen Sie, wie kann ich das machen übereinstimmen tun, um Wert mit der Server-Seite Wert?
Warum möchten Sie den Spaltennamen an den Server übergeben? – John