1
は、私は、ソートやフィルタ基本的にすべてのJSの機能が動作しない、データテーブルショーのエントリに問題があります。私は既にJSファイルを含んでいます。いくつかの詳細:私のDataTablesはサーバー側の処理であり、サーバー側からjsonでデータを取得します。jQuery DataTableエントリを表示する、検索ボックスと並べ替えが機能しない?
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
);
今私はテーブルを見ることができますが、私はちょうどソートや検索をすることはできませんし、より多くのエントリを示しています。なにか提案を?私はあなたがあなたのDataTableにオブジェクトを追加する必要があると思うより
私はクエリに検索変数を追加しましたが、データテーブル検索ボックスは更新後に入力を受け付けません – georgetovrea
質問に変更を貼り付け – rad11
私は自分の質問を更新しました。検索ボックス内の何かの後に、テーブルは元の結果よりもはるかに多くを記録しますが、元の結果よりも小さくする必要がありますか? – georgetovrea