废话不多说,先上一个基本示例,然后逐步介绍功能和配置。
1、远程加载列表数据:
1)引入库:
2)html代码:
3)scripts代码:
//todo1
$('#mytab').bootstrapTable({
url: 'url...',
toolbar: "#toolbar",
sidePagination: "false",
striped: true, // 是否显示行间隔色
search : "true",
showRefresh: true,
showToggle:true,
showColumns:true,
showHeader:true,
//uniqueId: "ID",
pagination: false, // 是否分页
sortable: false, // 是否启用排序
dataField : "data",//ajax返回json数据中,数组的key
columns: [{
field: 'id',
title: 'XXX'
},{
field: 'serviceId',
title: 'XXX'
},{
field: 'interfaceName',
title: 'XXX名'
},{
field: 'interfaceUrl',
title: 'XXX',
formatter: function(value, row, index) {
return "连接";
}
},{
field: 'header',
title: 'XXX'
},{
field: 'operation',
title: '操作',
width: 120,
align: 'center',
valign: 'middle',
formatter: function(value, row, index) {
var result = "";
result += "";
result += "";
result += "";
return result;
},
events: {
'click .btn_view': function(e, value, row, index) {
EditViewById(row,0);
},
'click .btn_edit': function(e, value, row, index) {
EditViewById(row,1);
},
'click .btn_del': function(e, value, row, index) {
DelById(row);
}
}
}
]
});
$.ajax({
url: "url...",
type: "get",
success:function(_data){
if (_data.code == 'A00000') {
var data = _data.data;
for (var i = 0; i < data.length; i++) {
$('#serviceId').append("");
}
} else {
alert('获取服务列表请求出错');
return;
}
},error:function() {
alert('获取服务列表请求出错');
}
});
事件函数代码:
function func() {
return false;
}
function searchProduct() {
var sid = $('#search_service').val();
var my_url = "url?serviceId="+sid;
if ( sid === "0") {
my_url = 'url2';
}
$.ajax({
url: my_url,
type: "get",
success:function(_data){
if (_data.code == 'A00000') {
var data = _data.data;
$("#mytab").bootstrapTable('load', data);
} else {
alert('查询接口列表请求出错');
return;
}
},error:function() {
alert('查询接口列表请求出错');
}
});
}
function check_form() {
var serviceId = $.trim($('#serviceId').val());
var interfaceName = $.trim($('#interfaceName').val());
var interfaceUrl = $.trim($('#interfaceUrl').val());
if(!interfaceName || !interfaceUrl){
alert('请输入接口名|接口URL!');
return;
}
if (serviceId === "0") {
alert('请选择服务!');
return;
}
var header = $.trim($('#header').val());
$.ajax({
url: "url3",
data:{"serviceId":serviceId,"interfaceName":interfaceName,"interfaceUrl":interfaceUrl,"header":header},
type: "get",
beforeSend:function(){
$("#tip").html("正在处理...");
return true;
},
success:function(data){
if (data.code == 'A00000') {
$("#tip").html("操作成功!");
location.reload();
} else if (data.code == 'E00002') {
$("#tip").html("失败,可能是接口名重名导致!");
return;
}else {
$("#tip").html("失败,请重试");
return;
}
},error:function() {
alert('请求出错');
}
});
}
2、重新加载数据:
我们都知道,当页面初始化时,我们使用bootstrapTable构造方法直接加载远程数据;但是当查询条件变了,需要重新从远程获取数据,然后将数据渲染到table中,总不能再次使用构造方法渲染一个新的表格吧。bootstrap提供了load方法,如下:
$('#table').bootstrapTable('load', newData);
3、其他问题:
1)bootstrap table自动换行
2)表格中某列点击行,获取整行信息:
{
field: 'column_operate',
title: '操作',
formatter: function(value, row, index) {
return '点我';
},
events: {
'click .say_hi': function(e, value, row, index) {
alert(row.name + ' 你好');
}
}
}
4、参考:
bootstrap 官方api:http://www.itxst.com/bootstrap-table-methods/bbrb7bvz.html
其他博客:
https://www.jb51.net/article/140396.htm
https://www.jianshu.com/p/b5ca011a0d9c
https://www.jb51.net/article/122986.htm
https://www.cnblogs.com/lichihua/p/10435072.html
https://blog.csdn.net/pengjunlee/article/details/80658596