微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

值得分享的bootstrap table实例

bootstrap table 封装了一套完善的数据表格组件,把下面的代码复制一下估计你需要的基本功能都有了,没有的再看看手册对比着我给的实例也能很快的熟悉了。

客户端

rush:xhtml;"> <Meta charset="UTF-8"> Bootstrap-Table Meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0">
<div id="toolbar">
<div class="btn btn-primary" data-toggle="modal" data-target="#addModal">添加记录

<table id="mytab" class="table table-hover"></table>

<div class="modal fade" id="addModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
×

服务端:

rush:PHP;"> PHP /** * 服务端模拟数据 */

//前端期望数据为json
header("Content-Type:application/json;charset=utf-8");
//post 请求 请求内容类型为 application/x-www-form-urlencoded 如果是 application/json 则需要另行处理 $_POST 数组不会被填充

//为了保持模拟的数据
session_start();

if ($_SESSION['emulate_data']) {
//已生成
} else {
$list = [];
//第一次会模拟个数据
for($i = 1; $i < 50; $i ++) {
$list[] = [
"id" => $i,"name" => substr(str_shuffle(implode('',range('a','z'))),5),"age" => mt_rand(10,30)
];
}
$_SESSION['emulate_data'] = $list;
}

$list_temp = [];
//检索
if (isset($_POST['search']) && !empty($_POST['search'])) {
foreach ($_SESSION['emulate_data'] as $key => $row) {
if (strpos($row['name'],$_POST['search']) !== false
|| strpos($row['age'],$_POST['search']) !== false) {
$list_temp[] = $_SESSION['emulate_data'][$key];
}
}
} else {
$list_temp = $_SESSION['emulate_data'];
}
//排序
if (isset($_POST['sort'])) {
$temp = [];
foreach ($list_temp as $row) {
$temp[] = $row[$_POST['sort']];
}
//PHP的多维排序
array_multisort($temp,$_POST['sort'] == 'name' ? SORT_STRING : SORT_NUMERIC,$_POST['order'] == 'asc' ? SORT_ASC : SORT_DESC,$list_temp
);
}

//分页时需要获取记录总数,键值为 total
$result["total"] = count($list_temp);
//根据传递过来的分页偏移量和分页截取模拟分页 rows 可以根据前端的 datafield 来设置
$result["rows"] = array_slice($list_temp,$_POST['offset'],$_POST['limit']);

echo json_encode($result);

需要注意的是

1、 可以前端分页也可以后端分页,这里我们使用的是后端分页,后端分页时需返回含有

total:总记录数 这个键值好像是固定的,我看文档没找到可以修改成别的

rows: 记录集合 键值可以修改 dataField 自己定义成自己想要的就好

如上的json数据(当然我前台设置的期望数据类型是json,php 直接encode一个 ["total"=>200,"rows"=>[[],[],][,]]的数组就完事了,方便)

2、且其请求后端是传递的内容格式默认为 application/json 我自己习惯用方便的 x-www-form-urlencoded

如果大家还想深入学习,可以点击进行学习,再为大家附3个精彩的专题:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

bootstrapbootstraptable分页table实例

相关推荐