我有这样的表
<table id="tbl_orderstatus" class="dataTable table table-bordered table-hover table-full-width nowrap" width="150%" data-table="tblorderstatus">
<thead>
<tr>
<th>Buyer</th>
<th>Season</th>
<th>Style#</th>
<th>KP#</th>
<th>Item Description</th>
<th>Buyer PO</th>
<th colspan="2">Qty</th>
<th>Material</th>
<th>Destination</th>
<th>Delivery Date</th>
</tr>
</thead>
</table>
但是我的问题是,我只是把<th colspan="2">Qty</th>
弄错了,它说没有未加工的风格。我怎么做这样的clospan?因为我需要在数量上放置2个数据列。
tq for answer,我打赌我必须在标题上使用两行。 tQ家伙:)
答案 0 :(得分:1)
这是一个老线程但仍然 - 我想分享我在自己项目中提出的建议。我基本上需要相同的东西 - 我想跨越3列的标题而不加强它,将它保持在一行。
您看到了错误,因为jQuery DataTables希望每个字段都有一个列来分配处理程序或其他任何内容。我们可以通过添加另一个标题列来消除错误,其中包含您希望跨越的标题列数。就我而言,我添加了3个标题列。
现在,错误消失但标题看起来很可怕。看起来没必要,但将所有其他顶行标题列设置为跨越2行(rowspan)。 而现在,“魔术” - 作为我们的第二行标题列不包含任何信息,只需隐藏它们!
$(document).ready(function() {
$('#example').DataTable();
});
<script
src="https://code.jquery.com/jquery-3.2.1.js"
integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE="
crossorigin="anonymous"></script>
<script src="https://cdn.datatables.net/1.10.15/js/jquery.dataTables.min.js"></script>
<link href="https://cdn.datatables.net/1.10.15/css/jquery.dataTables.min.css" rel="stylesheet"/>
<table id="example" class="display" cellspacing="0" width="100%" style="text-align: center;">
<thead>
<tr>
<th rowspan="2">One</th>
<th colspan="2">Two and Three</th>
<th rowspan="2">Four</th>
<th rowspan="2">Five</th>
</tr>
<tr style="display:none">
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td> First data </td>
<td> Second data </td>
<td> Third data </td>
<td> Fourth data </td>
<td> Fifth data </td>
</tr>
</tbody>
</table>
瞧。这是我可以制作的最干净的解决方法,但它会这样做。
答案 1 :(得分:0)
我测试过,它正在运行。也许你忘记在这里添加一个<td></td>
输入代码
<table id="tbl_orderstatus" class="dataTable table table-bordered table-hover table-full-width nowrap" width="150%" data-table="tblorderstatus">
<thead>
<tr>
<th>Buyer</th>
<th>Season</th>
<th>Style#</th>
<th>KP#</th>
<th>Item Description</th>
<th>Buyer PO</th>
<th colspan="2">Qty</th>
<th>Material</th>
<th>Destination</th>
<th>Delivery Date</th>
</tr>
</thead>
<tr>
<td>Test</td>
<td>Test</td>
<td>Test</td>
<td>Test</td>
<td>Test</td>
<td>Test</td>
<td>Test 1</td>
<td>Test 2</td>
<td>Test</td>
<td>Test</td>
<td>Test</td>
</tr>
</table>
答案 2 :(得分:0)
您需要为每一行添加标题,因此您的标题应该是这样的:
<thead>
<tr>
<th rowspan="2">Buyer</th>
<th rowspan="2">Season</th>
<th rowspan="2">Style#</th>
<th rowspan="2">KP#</th>
<th rowspan="2">Item Description</th>
<th rowspan="2">Buyer PO</th>
<th colspan="2">Qty</th>
<th rowspan="2">Material</th>
<th rowspan="2">Destination</th>
<th rowspan="2">Delivery Date</th>
</tr>
<tr>
<th>Qty 1</th>
<th>Qty 2</th>
</tr>
</thead>
</table>