javascript - 数据表列未对齐

标签 javascript jquery css twitter-bootstrap datatables

我在页面上使用 bootstrap 作为选项卡。这些选项卡内是 JQuery 数据表。出于某种原因,当用户在页面加载后单击选项卡时,数据表的标题不会与行对齐。

enter image description here

如果我单击其中一个标题(对列进行排序的按钮),则列会自行修复。有人可以帮我吗?我已经尝试了几种 CSS 和 Javascript“hacks”来解决这个问题。

这是我初始化数据表的地方:

$( ".dynamic-table" ).DataTable({
    "scrollY": 450,
    "scrollCollapse": true,
    "lengthMenu": [[10, 50, 500, -1], [10, 50, 500, "All"]]
});

最佳答案

SOLUTION

使用columns.adjust()重新计算列宽的 API 方法。

来自manual :

Call it when the table becomes visible if hidden when initialized (for example in a tab) or when the data changes significantly.

$('a[data-toggle="tab"]').on('shown.bs.tab', function(e){
   $($.fn.dataTable.tables(true)).DataTable()
      .columns.adjust();
});

DEMO

参见 this jsFiddle用于代码和演示。

LINKS

参见 jQuery DataTables – Column width issues with Bootstrap tabs用于解决 jQuery DataTables 和 Bootstrap Tabs 最常见的问题。

关于javascript - 数据表列未对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35805848/

相关文章:

javascript - 将 SetTimeout 与 Ajax 调用结合使用

javascript - 如何将 Child_process.spawn 的 "Promise"语法转换为 "async/await"语法

jquery - 添加 Facebook SDK 后加载时间更长

javascript - jsPlumb 点击单个项目

css - 使用否定的 CSS 自定义属性

javascript - 如何传递逗号分隔的字符串来选择 Angular js 中的选项

javascript - Ember 使用 ajax 动态加载模板

php - 如何使用 Ajax 或 Jquery 填充文本框中的值?

android - GMail 应用程序中的 Outlook HTML 签名 : Gap between <td> Elements

css - 当一个按钮被包装成一个表单时,如何将按钮显示为内联/ block 元素?