Datatable中文网手册地址:http://datatables.club
Laravel----视图层,直接上代码
$(document).ready(function () {
$('#table_id_example').DataTable({
serverSide: true,
lengthMenu: [7, 14, 20, 50, 100],
ajax: {
url: "{{url('numData')}}",
dataSrc: function (d) {
return d.result
}
},
columns: [
{"data": "id"},
{"data": "name","class":'name'},
{"data": "main"},
{"data": "created_at"}
],
});
});
// 给删除按钮绑定值
$('#table_id_example').on('init.dt', function () {
// 获取DOM节点
$(".del").click(function () {
// 获取要 删除的 地址
var url = $(this).attr('href');
// 获取当前的ID数
var id = $(this).parent().prev().prev().prev().prev().text();
// 进行发送ajax
$.ajax({
type: "DELETE",
data: {_token: "{{csrf_token()}}" ,id},
url
}).then((res) => {
if (res.code == 200) {
location.reload()
}
})
return false
})
}).dataTable();
Laravel----控制器 代码
public function numData(Request $request)
{
// 获取排序的列是升序还是降序?
$order = $request->get('order')[0]['dir'];
// 获取排序的索引
$order_index = $request->get('order')[0]['column'];
// 设置默认排序
$oredr_default = 'id';
if ($order_index != 0) {
// 获取排序的字段
$oredr_default = $request->get('columns')[$order_index]['data'];
}
// 起始位置
$start = $request->get('start', 0);
// 进行搜索功能
$searchValue = $request->get('search')['value'];
// 获取当前初始位置
$start = $request->get('start');
// 获取 结束位置
$length = $request->get('length');
// 进行分页数据
$data = Book::where('name','like',"%$searchValue%")
->orderBy($oredr_default,$order)
->offset($start)
->limit($length)
->get();
// 这里是高亮显示!!!!
//foreach ($data as $val){
// $val['name'] = str_replace($searchValue,"<span style='color: red;font-weight: //bold'>$searchValue</span>",$val['name']);
// }
// Redis::set('key',json_encode($data));
// if (Redis::exists('key')){
// json_decode(Redis::get('key'));
//}
return ['code'=>200,'msg'=>'success','result'=>$data];
}