我有一些jquery发布一些数据,将列表作为JSON响应获取,并根据列表数据构建数据表。一切都运作良好,但我有一个看似简单的问题: 我不能让我的表声明中的列宽保持不变。
我的代码看起来像这样:
//some magic happens and I get a result like this
json_result = ['eggs', 'bananas', 'purple']
//declare the table
var result_table = $( table_selector )
table = result_table.DataTable({
//set two different width columns
columnDefs: [
{ "width": "10%", "targets": 0 },
{ "width": "90%", "targets": 1 }
]
});
//build the table rows based on result
for (i=0, i<json_result.length, i++){
var new_row = '<tr><td><input type="checkbox"></td><td>' +json_result[i] + '</td></tr>'
table.row.add(new_row).draw();
}
// table.columns.adjust().draw(); <-- tried this to no avail
table.draw();
结果是一个非常好的桌子,非常适合它的容器......但是柱子的宽度是50/50。这些相同的列defs似乎在我的应用程序中的其他表上正常工作。我觉得我错过了一些简单的东西!
答案 0 :(得分:2)
从论坛帖子datatables.net,禁用&#34;自动宽度&#34;功能通过:
$(document).ready( function () {
$('#example').dataTable( {
"bAutoWidth": false
} );
} );