DataTables宽度问题

时间:2011-08-11 08:53:30

标签: jquery jquery-plugins datatables

我正在使用带有jQuery的DataTables插件,我已经查看了StackOverflow,发现this other question几乎有同样的问题(除了我没有标签),我尝试了它所说的那些但是无法制作这行得通。我在表格中有这个下拉列表只显示50条记录(下面代码中的iDisplayLenth),当你选择100或者超过表格时,它会完全自我调整,我不知道为什么。任何帮助或建议将不胜感激。这是我创建表格的HTML:

<table id="content-table-redesign" class="display">

然后css与之相关

#content-table-redesign{border-collapse: separate;width:1241px;margin:0 auto;}
#content-table-redesign th{min-width:45px;color:#2e2e2e;}

和js在这一点上几乎是我原来拥有的和我在另一个链接上找到的建议的混合。一切都在$ document(function(){});

中完成
var oTable = $('#content-table-redesign').dataTable({
        "oLanguage": {
            "sLengthMenu": "Display _MENU_ records per page",
            "sZeroRecords": "Nothing found - sorry",
            "sInfo": "Showing _START_ to _END_ of _TOTAL_ records",
            "sInfoEmpty": "Showing 0 to 0 of 0 records",
            "sInfoFiltered": "(filtered from _MAX_ total records)"
        },
        "aaSorting": [[ 0, "asc" ]],
        "bAutoWidth": false,
        "iDisplayLength": 50,
        "aLengthMenu": [10, 20, 30, 50, 100, 500],
        "sPaginationType": "full_numbers",
        "sDom": '<"top"i><"#up"f>rt<"#bottom2"l><"pagin"p><"clear">',
        "aoColumns" : [
            { sWidth: '500px' },
            { sWidth: '1000px' },
            { sWidth: '1200px' },
            { sWidth: '300px' },
            { sWidth: '100px' },
            { sWidth: '120px' },
            { sWidth: '30px' },
            { sWidth: '100px' },
            { sWidth: '120px' }
        ] 
    });

    oTable.fnAdjustColumnSizing();

我刚刚意识到这个错误只出现在IE8和Chrome 12 +上

2 个答案:

答案 0 :(得分:4)

var oTable = $('#contactsTable').dataTable( {
  "bAutoWidth": false

});

添加此代码

答案 1 :(得分:1)

这只是一个很长的镜头,但我想你的浏览器必须调整窗口大小(因为你的桌子中有100个条目,你的body-element会扩展并出现一个滚动条),因此oTable.fnAdjustColumnSizing()会启动调整列的大小。可能想检查一下吗?

API reference: fnAdjustColumnSizing