Ich habe ein Problem mit datatable zeigen Einträge, sortieren und filtern grundsätzlich alle JS-Funktion nicht funktioniert. Ich habe bereits die JS-Dateien aufgenommen. Einige Details: Meine DataTables sind Server-seitige Verarbeitung und Daten in Json von Server-Seite abrufen.jQuery DataTable Einträge anzeigen, Suchfeld und Sortierung funktioniert nicht?
datatable.php
<script type="text/javascript" charset="utf8" src="//code.jquery.com/jquery-1.12.3.js"></script>
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script>
<script>
$(document).ready(function() {
$.fn.dataTable.ext.errMode = 'none';
var table = $('#example').DataTable({
"processing": true,
"serverSide": true,
"jQueryUI": true,
"ordering": true,
"searching": true,
"order": [[1, 'desc']],//set column 1 (time)
"ajax": {
url: "process.php",
type: 'POST',
data: {
from: "<?php echo $from; ?>",
to: "<?php echo $to; ?>"
}
},
"columns": [
{
"className":'details-control',
"orderable":false,
"data":null,
"defaultContent": ''
},
{ "data": "time"},
{ "data": "message",
"render": function (data, type, row)
{
data = data.replace(/&/g, "&").replace(/>/g, ">").replace(/</g, "<").replace(/"/g, """);
return type === 'display' && data.length > 200 ?
'<span title="'+data+'">'+data.substr(0, 98)+'...</span>' :data;
}
}
]
});
// Add event listener for opening and closing details
$('#example tbody').on('click', 'td.details-control', function() {
var tr = $(this).closest('tr');
var row = table.row(tr);
if (row.child.isShown()) {
// This row is already open - close it
row.child.hide();
tr.removeClass('shown');
}
else {
// Open this row
row.child(format(row.data())).show();
tr.addClass('shown');
}
});
});
</script>
<body>
<table id="example" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th ></th>
<th data-search-index="3">time</th>
<th data-search-index="3">Message</th>
</tr>
</thead>
<tfoot>
<tr>
<th></th>
<th>time</th>
<th>Message</th>
</tr>
</tfoot>
</table>
</body>
process.php
$search='';
$requestData= $_REQUEST;
if(isset($_POST["search"]["value"]) && !empty($_POST["search"]["value"])){
$search ='&q=_all:'.$_POST["search"]["value"];
}
$qryurl ='<ip>/log/_search?size=10'.$search ;
if (!empty($requestData['start']) && $requestData['length'] != '-1')
{
$qryurl ='<ip>/log/_search?size=10&from='.$requestData['start'].$search;
}
.......
//json output
$results = array(
"draw" => intval($requestData['draw']),
"iTotalRecords" =>intval($total),
"iTotalDisplayRecords" => intval($total),
"aaData"=>$sourceary
);
jetzt kann ich die Tabelle sehen, aber ich kann einfach nicht das Sortieren oder Suchen und mehr Einträge zeigen. irgendein Vorschlag? Vielen viel, mehr
Ich habe die Suchvariablen zu meiner Abfrage hinzufügen, aber das Databases Suchfeld keine Eingaben nach der Aktualisierung – georgetovrea
Paste Ihre Änderungen an Frage – rad11
Ich habe Update meine Frage. Nach etwas im Suchfeld zeichnet die Tabelle viel mehr als ursprüngliche Ergebnisse auf, aber es sollte weniger als ursprüngliche Ergebnisse, nicht? – georgetovrea