解决bootstrap table表格插件所遇到的坑

85 篇文章 3 订阅
50 篇文章 0 订阅

效果图:

第一点:bootstrap tab好用,并且是前端分页(就是不需要去读后台数据库来辅助分页)

你下载了bootstrap,不是你就有了bootstrap table插件,你还得要下载bootstrap table插件;

bootstrap下载地址:http://www.bootcss.com/

bootstrap table插件下载地址(下面3个有关)最好是从Github下载

官网地址: http://bootstrap-table.wenzhixin.net.cn/zh-cn/
Github地址: https://github.com/wenzhixin/bootstrap-table

中文文档:http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/

首先去github下载最新的版本,下载下来之后解压如下:

2.2、在页面中引入插件

复制dist目录下的文件到项目中去:

 

还得引入Bootstrap的样式与JS,和Jquery文件,完整的引入如下:

<!-- 引入bootstrap样式 -->
<link href="css/bootstrap.css" rel="stylesheet">
<!-- 引入bootstrap-table样式 -->
<link href="css/bootstrap-table.css" rel="stylesheet">
<!-- jquery -->
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<!-- bootstrap-table.min.js -->
<script src="js/bootstrap-table.js"></script>
<!-- 引入中文语言包 -->
<script src="js/bootstrap-table-zh-CN.js"></script>
 

第二:使用方法:

1.写一个空的table壳就可以

<table class="table table-striped table-bordered table-hover" id="tableL01"></table>

2.在js中准备表头数据和表中的数据后用

$('#tableL01').bootstrapTable({}),就可以启动了,  注意此处的tableL01是你表格的id号,有时不出来数据,是因为在网上拷贝的代码后,没有改id号的原因,对初学者算是一个坑;

3.表头数据和表格内容的数据,都是以json的形式写在$('#tableL01').bootstrapTable({  //你的数据写在这里 });

4.在启动此表格之前,一定要先将以前的表格给清除掉,方法是:

$('#tableL01').bootstrapTable('destroy');   //动态加载表格之前,先销毁表格
以上3、4两点合并起来就是先执行4,再执行3,

5.准备表头数据:

var tableColumns = [
    {field: 'name', title: '名称', sortable: true},
    {field: 'number', title: '编号', sortable: true},
];

6.准备表格内容数据:

var mydata=[
    {name:"aaaa",number:1111},
    {name:"bbbb",number:2222},
    ];

注意表格内容的name,number是与第5点中的field名字是相对应的,不然,你的表格显示不出内容。这算一个坑。

7.完整的$('#tableL01').bootstrapTable({})就应该这样写:

$('#tableL01').bootstrapTable({//表格初始化
    columns: tableColumns,  //表头
    data:mydata, //表格中的数据,这是从本地取得数据,如果是从后台取数据,就应该改为后台地址
});

8.要想达到前端分页的目的,还要加入以下参数:

$('#tableL01').bootstrapTable({//表格初始化
    columns: tableColumns,  //表头
    data:mydata, //通过ajax返回的数据
    width:300,
    height:268,
    method: 'get',
    pageSize: 3, //每页3条
    pageNumber: 1,  //第1页
    pageList: [10,25],   //在使用过程中根据情况调整每页条数.虽然你现在定义的每页3条,但你可以随时调整为10条或25条。
    cache: false,   //不缓存
    striped: true,
    pagination: true,
    sidePagination: 'client',
    search: false,
    showRefresh: false,
    showExport: false,
    showFooter: true,
    // exportTypes: ['csv', 'txt', 'xml'],
    clickToSelect: true,
});

===================

完整的程序如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="bootstrap-3.3.7-dist/css/bootstrap.css">
    <link rel="stylesheet" href="bootstrap-table-develop/src/bootstrap-table.css">
    <script src="js/jquery-3.2.1.js"></script>
    <script src="bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
    <script src="bootstrap-table-develop/src/bootstrap-table.js"></script>
    <script src="bootstrap-table-develop/dist/locale/bootstrap-table-zh-CN.js"></script>

    <script type="text/javascript">
        $(function () {
            var tableColumns = [
                {field: 'name', title: '名称', sortable: true},
                {field: 'number', title: '编号', sortable: true},
                {field: 'classes', title: '类型', sortable: true},
                {field: 'standard', title: '规格', sortable: true},
                {field: 'managestaff', title: '专管员', sortable: true},
                {field: 'remark', title: '备注', sortable: true}
            ];
            var data1=[
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},
                {name:"aaaa",number:1111,classes:"aklfdja",standard:"bbbb",managestaff:"ccccc",remark:"ddddd"},

            ];
            $('#tableL01').bootstrapTable('destroy');   //动态加载表格之前,先销毁表格

            $('#tableL01').bootstrapTable({//表格初始化
                columns: tableColumns,  //表头
                data:data1, //通过ajax返回的数据
                width:300,
                height:268,
                method: 'get',
                pageSize: 3,
                pageNumber: 1,
                pageList: [],
                cache: false,
                striped: true,
                pagination: true,
                sidePagination: 'client',
                search: false,
                showRefresh: false,
                showExport: false,
                showFooter: true,
                // exportTypes: ['csv', 'txt', 'xml'],
                clickToSelect: true,
            });

        });
    </script>
</head>
<body>

<div class="panel panel-default">
    <div class="panel-body table-responsive">
                 
        <div class="query-div" id="toolbar">
            <form class="form-inline" role="form" id="query_form">
                <div class="form-group query-form-group">
                    <label for="status">状态</label>
                    <select class="form-control" id="with_appr_status"
                    <option value="">全部</option>
                    <option value="S1">待处理</option>
                    <option value="S2">已处理</option>
                    </select>
                </div>
                <div class="form-group query-form-group">
                    <button type="button" class="btn btn-default" id="with_query">查询</button>
                </div>
            </form>
        </div>

        <table class="table table-striped table-bordered table-hover" id="tableL01">

        </table>
    </div>
</div>

</body>
</html>
Bootstrap Table是一个强大的、基于Bootstrap框架开发的响应式表格插件,提供了丰富的特性和易用的API,用于快速地呈现数据集合。以下是Bootstrap Table的使用方法: 1. 引入必要的文件 在使用Bootstrap Table前,需要引入以下文件: ```html <!-- bootstrap样式文件 --> <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css"> <!-- bootstrap table样式文件 --> <link rel="stylesheet" href="https://cdn.staticfile.org/bootstrap-table/1.15.4/bootstrap-table.min.css"> <!-- jquery文件 --> <script src="https://cdn.staticfile.org/jquery/3.5.1/jquery.min.js"></script> <!-- bootstrap js文件 --> <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script> <!-- bootstrap table js文件 --> <script src="https://cdn.staticfile.org/bootstrap-table/1.15.4/bootstrap-table.min.js"></script> ``` 2. 创建HTML结构 在页面中创建一个table元素,并添加必要的属性: ```html <table id="myTable" data-toggle="table" data-url="data.json"></table> ``` 其中,id属性指定了表格的唯一标识符,data-toggle属性指定了表格的类型为Bootstrap Table,data-url属性指定了表格的数据来源。 3. 初始化表格 在JavaScript代码中,使用以下代码初始化表格: ```javascript $(function(){ $('#myTable').bootstrapTable(); }); ``` 这里使用了jQuery的文档就绪事件,在页面加载完成后执行初始化操作。此时会根据data-url指定的地址异步加载数据,并自动生成表格。 4. 自定义表格 Bootstrap Table提供了丰富的配置选项,可以自定义表格的样式、特性和行为。例如,可以通过以下代码自定义表格的列、排序和分页等: ```javascript $(function(){ $('#myTable').bootstrapTable({ columns: [{ field: 'name', title: '姓名' }, { field: 'age', title: '年龄', sortable: true }, { field: 'gender', title: '性别' }], sortable: true, pagination: true }); }); ``` 这里使用了columns选项指定了表格的列,每个列由一个field和一个title属性组成,分别指定了列的数据字段和标题。同时也可以通过sortable和pagination选项开启排序和分页功能。 以上就是Bootstrap Table表格的基本使用方法,更多高级特性和API请参考官方文档。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

庭博

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值