html控制列表宽度,jQuery DataTables:控制表宽度

jQuery DataTables:控制表宽度

我有一个问题,使用jQuery DataTables插件控制表的宽度。 该表应该是容器宽度的100%,但最终是任意宽度,而不是容器宽度。

建议表示赞赏

表声明如下所示

cellpadding="3" width="100%">

和javascript

jQuery('#tab-datasets').load('/cgi-bin/qryDatasets', '', function (){

jQuery('#querytableDatasets').dataTable({

"bPaginate": false,

"bInfo": false,

"bFilter": false

});

}); `

检查Firebug中的HTML,你会看到这一点(注意添加的样式="宽度:0px;")

cellpadding="3" width="100%" style="width: 0px;">

在样式中查看Firebug,table.display样式已被覆盖。 无法看到它的来源

element.style {

width:0;}

-- dataTables.css (line 84

table.display {

margin:0 auto;

width:100%;

}

25个解决方案

57 votes

问题是由于dataTable必须计算其宽度 - 但是当在标签内使用时,它不可见,因此无法计算宽度。 解决方案是调用“fnAdjustColumnSizing' 当标签显示时。

前言

此示例显示了如何一起使用带滚动的DataTables   使用jQuery UI选项卡(或者实际上是表格的任何其他方法)   在初始化时隐藏(display:none)元素。 原因   这需要特别考虑,就是当DataTables时   初始化,它是一个隐藏的元素,浏览器没有   任何用于提供DataTables的测量,这都需要   在启用滚动时未对齐列。

解决此问题的方法是调用fnAdjustColumnSizing API   功能。 此函数将计算列宽   需要根据当前数据然后重绘表 - 这是   当第一个表变得可见时,确切需要什么   时间。 为此我们使用' show' jQuery UI表提供的方法。   我们检查是否已经创建了DataTable(请注意   对于' div.dataTables_scrollBody'的额外选择器,这是在添加时添加的   DataTable已初始化)。 如果表已初始化,我们   重新调整它的大小。 可以添加优化以仅重新调整大小   首先显示表格。

初始化代码

$(document).ready(function() {

$("#tabs").tabs( {

"show": function(event, ui) {

var oTable = $('div.dataTables_scrollBody>table.display', ui.panel).dataTable();

if ( oTable.length > 0 ) {

oTable.fnAdjustColumnSizing();

}

}

} );

$('table.display').dataTable( {

"sScrollY": "200px",

"bScrollCollapse": true,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值