bootstrap table列和表頭對不齊的解決方法
我們在使用bootstraptable做表格展示時,有時需要固定表格的高度當數(shù)據(jù)超出高度會出現(xiàn)滾動條,這時有可能出現(xiàn)表頭列和數(shù)據(jù)列對不齊。出現(xiàn)這個問題的原因是數(shù)據(jù)列出現(xiàn)了滾動條占了寬度,造成表頭 數(shù)據(jù) 的div寬度不一樣。
通過Chrome瀏覽器 f12,看到樣式為 .fixed-table-header .fixed-table-body .fixed-table-footer的3個div容器寬度不一樣, .fixed-table-header .fixed-table-footer這兩個div沒有滾動條。
解決方法:
bootstraptable在渲染完列表時會執(zhí)行onPostBody事件,代碼如下。
$('#dataGrid').bootstrapTable({
method: 'post',
url: 'http://www.itxst.com/?ajax',
dataType: "json",
striped: true, //隔行變色
pagination: true, //底部顯示分頁碼
pageSize: 30, //每頁顯示行數(shù)
pageNumber: 1, //頁碼
pageList: [30, 50, 100, 200, 500], //每頁顯示數(shù)量選擇器
idField: "objectId", //主鍵字段
showColumns: true, //顯示隱藏列
showRefresh: true, //刷新按鈕
singleSelect: true,
search: false,
clickToSelect: true,
sidePagination: "server",
queryParams: queryParams,
queryParamsType: "limit",
toolbar: "#toolbar", //設置工具欄的Id
columns: column, //要顯示的列
silent: true, //刷新事件必須設置
formatLoadingMessage: function () {
return "it小書童正在加載中...";
},
formatNoMatches: function () {
return '未查詢到結果';
},
onLoadError: function (data) {
},
onClickRow: function (row) {
window.location.href = "/detail?id=" + row.objectId;
},
onPostBody:function()
{
//重點就在這里,獲取渲染后的數(shù)據(jù)列td的寬度賦值給對應頭部的th,這樣就表頭和列就對齊了
var header=$(".fixed-table-header table thead tr th");
var body=$(".fixed-table-header table tbody tr td");
var footer=$(".fixed-table-header table tr td");
body.each(function(){
header.width((this).width());
footer.width((this).width());
});
}
});
如果大家還想深入學習,可以點擊這里進行學習,再為大家附3個精彩的專題:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
使用JS操作文件(FileReader讀取--node的fs)
這篇文章主要介紹了使用JS操作文件(FileReader讀取--node的fs),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
bootstrap fileinput 插件使用項目總結(經(jīng)驗)
這篇文章主要介紹了bootstrap fileinput 插件使用項目總結,是小編日常碰到的問題及解決方法,需要的朋友可以參考下2017-02-02
使用JavaScript實現(xiàn)頁面局部更新的方法總結
在JavaScript中,Ajax(Asynchronous JavaScript and XML)是一種用于在后臺與服務器進行異步通信的技術,本文給大家介紹了使用JavaScript實現(xiàn)頁面局部更新的三種方法,文中通過代碼示例給大家介紹的非常詳細,需要的朋友可以參考下2023-12-12

