我正在尝试使dataTables与标题的单击一起使用。当单击标题时,收到消息:“正在处理...”
您可以在这里查看我的代码
JS:
$(document).ready(function() {
var table = $('#example').DataTable( {
processing: true,
serverSide: true,
ajax: "assets/ajaxGetDataIO.php",
bFilter: false,
bPaginate: false,
bLengthChange: false
} );
} );
HTML代码:
<table id="example" class="display" style="width:100%">
<thead>
<tr>
<th>nameA</th>
<th>nameB</th>
<th>value123</th>
<th>red</th>
<th>Temp</th>
<th>Time</th>
</tr>
</thead>
<tfoot>
<tr>
<th>nameA</th>
<th>nameB</th>
<th>value123</th>
<th>red</th>
<th>Temp</th>
<th>Time</th>
</tr>
</tfoot>
</table>
和ajaxGetDataIO.php
$rows = $db->rawQuery($myquery);
$columns = array(
array("db"=>"nameA", "dt"=>0),
array("db"=>"nameB", "dt"=>1),
array("db"=>"value123", "dt"=>2),
array("db"=>"red", "dt"=>3),
array("db"=>"temperature", "dt"=>4),
array("db"=>"Timestamp", "dt"=>5)
);
$array = array(
"draw" => 1,
"recordsTotal" => $db->totalCount,
"recordsFiltered" => $db->totalCount,
"data" => data_output($columns, $rows)
);
echo json_encode($array);
function data_output ( $columns, $data ) {
$out = array();
for ( $i=0, $ien=count($data) ; $i<$ien ; $i++ ) {
$row = array();
for ( $j=0, $jen=count($columns) ; $j<$jen ; $j++ ) {
$column = $columns[$j];
// Is there a formatter?
if ( isset( $column['formatter'] ) ) {
$row[ $column['dt'] ] = $column['formatter']( $data[$i][ $column['db'] ], $data[$i] );
}
else {
$row[ $column['dt'] ] = $data[$i][ $columns[$j]['db'] ];
}
}
$out[] = $row;
}
return $out;
}
数据表正确显示了数据,我之前在名称A的查询中对其进行了排序,但是当我单击标题标题列(例如nameB或value123 ...)以根据该列进行排序时,我得到了我告诉你的消息:“正在处理...”
这是我第一次将datatables与serverSide中的数据一起使用...我想我错过了一些事情。
有人可以帮我吗?