在Laravel中使用DataTables插件的方法
DataTables 是一个 jQuery 的表格插件,记录一下在 Laravel 中使用的常用功能和用法,比如 ajax 获取数据,自定义搜索,效果展现,选项说明等等,有一些细节记录下来方便以后查看。 Laravel 控制器方法接受 ajax get 请求,返回数据。 dataTables 会自带一些参数过来,需要按照格式返回数据,比如分页等。见 dataTables 官方文档说明。 代码如下: get('dynamic_type');
$draw = $request->get('draw');
$start = $request->get('start');
$length = $request->get('length');
$groupId = $request->get('group_id');
$dynamicId = $request->get('dynamic_id');
$userid = $request->get('userid');
$isAudit = $request->get('is_audit',0);
if (!$dynamicType || !in_array($dynamicType,[1,2])) { $builder = Dynamics::select(['id','userid','group_id','dynamic_id','dynamic_type','content','money','is_audit','audited_at'])->where('dynamic_type',$dynamicType); //自定义搜索 if ($dynamicId) { if ($userid) { if (!is_null($isAudit)) { $total = $builder->count(); $imgInfo = []; $fillImages = function ($item) use ($imgInfo) { $data = []; // ajax GET 获取列表数据 if (!$dynamicType || !in_array($dynamicType,2])) { $builder = Dynamics::select(['id',$dynamicType); //自定义搜索 if ($dynamicId) { if ($userid) { if (!is_null($isAudit)) { $total = $builder->count(); $imgInfo = []; $fillImages = function ($item) use ($imgInfo) { $data = []; dataTables 发 ajax 请求及一些选项设置columnDefs 用来自定义每个字段如何展现,可以封装自己的展现逻辑,也可以获取到这一行各个字段的值。 createdRow 可以改变创建每一行的行为,比如修改这一行的样式等等。 table.draw() 方法可以重新发起 ajax 请求。 ";
});
return html;
},"targets": 6
},row) {
if (data == 0) {
return "未审核";
} else if (data == 1) {
return "审核通过";
} else if (data == -1) {
return "审核不通过";
}
},"targets": 8
},row) {
if (row.is_audit == 0) {
return "通过 不通过";
}
return "-";
},"targets": 10
}
],"createdRow": function (row,data,index) {
$('td',row).eq(4).attr('style','word-break:break-all');
$('td',row).eq(2).attr('style',row).eq(5).attr('style','word-break:break-all');
},"language": {
processing: "数据加载中...",info: "显示第 _START_ 至 _END_ 条,共 _TOTAL_ 条记录",infoEmpty: "暂无数据",lengthMenu: "显示 _MENU_ 条记录",paginate: {
first: "首页",previous: "上一页",next: "下一页",last: "最后一页"
}
}
});
$dataTable.find('tbody').on('click','.audit',function () { // 审核操作 $("#is_audit").select2({ // 搜索 <script type="text/javascript"> $dataTable.find('tbody').on('click',dynamic_type) // 审核操作 $("#is_audit").select2({ // 搜索 本文主要记录给自己看,不做具体的说明了。 参考链接 dataTables 官方文档 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |