我正在尝试创建数据表以便使用导出选项。据我所知,如果标签不正确,该表将无效。我正在努力实现一个表格,列出配方成分,数量和方法。因为我只希望方法显示一次,我想合并最后一列并将其放在中心 - 这就是问题发生的地方。我创建了一个if语句来检查方法是否已经打印过。使用以下代码显示我想要的方式,但我不明白如何正确关闭td标签....
我收到的错误是:
未捕获的TypeError:无法设置未定义的属性'_DT_CellIndex'
<table id="table_id" class="display" width="50">
<thead>
<tr>
<th>
Quantity
</th>
<th>
Ingredient
</th>
<th>
Method
</th>
</tr>
</thead>
<tbody>
<?php
$ifExists = false;
while ($dbRow2 = $dbQuery3->fetch(PDO::FETCH_ASSOC)) {
$ingredients=$dbRow2["ingredient"];
$quantity=$dbRow2["quantity"];
echo '<tr>';
echo '<td>';
echo "$quantity";
echo '</td>';
echo '<td>';
echo "$ingredients";
echo '</td>';
$count=$dbQuery3->rowCount();
if($ifExists == false){
echo "<td rowspan='$count'>";
echo "$method";
echo '</td>';
$ifExists = true;
echo '</tr>';
}
else {
echo '</td>';
echo '</tr>';
}
}
答案 0 :(得分:0)
兄弟的错误很简单
如果您的else
部分已执行,则会尝试关闭未启用的</td>
试试这个
else {
// echo '</td>';
echo '</tr>';
}
答案 1 :(得分:0)
我不认为DataTables目前支持在表体内部实现rowpans(仅在标题中)。然而,有一些插件可用于将单元组合在一起作为行跨 - 尝试rowsGroup插件(https://github.com/ashl1/datatables-rowsgroup)。
在DataTable调用中使用此插件,您可以执行以下操作:
var table = $('#table_id').DataTable({'rowsGroup': [2]});
让我知道你是怎么过的!