【发布时间】:2018-03-22 02:06:57
【问题描述】:
我的 html 上有一个选项卡面板,用于渲染表格。
<link rel="stylesheet" type="text/css" href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/css/jquery.dataTables.css">
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css">
<script type="text/javascript" charset="utf8" src="https://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js"></script>
<div role="tabpanel" class="tab-pane" id="manualProcess">
<div class="container" id="annotationTable" class="display nowrap" cellspacing="0" width="100%">
</div>
</div>
我正在通过 mysql 的 php 脚本渲染表格。单击选项卡面板会触发函数 getManual()。
function getManual() {
var folder = $('#workingDir').val();
$.post('manualAnnotation.php', {'folder': folder}, function(data) {
$('#annotationTable').html(data).show();
})
}
而我的呈现表格的php如下:
$result = mysqli_query($connect,$sql)or die(mysqli_error());
echo "<div class='col-md-5'><table class='dataTable' cellspacing='0' id='manTab'>";
echo "<thead><tr><th>Select</th><th>Image</th><th>Location</th><th>Brand</th><th>Run</th></tr></thead>";
while($row = mysqli_fetch_array($result)) {
$ID = $row['ID'];
$Image = $row['Image'];
$Location = $row['Location'];
$Brand = $row['Brand'];
echo "<tbody><form><tr>
<td><div class='radio' style='padding:0px;margin:0px'><label><input type='radio' value='$ID' id='manualTab' name='manualTab'></label></div></td>
<td>".$Image."</td>
<td>".$Location."</td>
<td>".$Brand."</td>
<td><a href='#' onclick='runManual()'>RUN</a></td>
</tr></tbody></form>";
}
echo "</table></div>";
mysqli_close($connect);
我正在尝试在表 id“manTab”上启用 jQuery dataTable。在我的索引页面上,我添加了以下代码:
$(document).ready(function() {
$('#manTab').DataTable({
});
});
虽然这会呈现表格,但未启用数据表的功能,例如搜索、排序或分页。
【问题讨论】:
-
@plonknimbuzz 我试过了,但是得到一个错误,表明 annotationTable 是一个 div 而不是一个表。
-
是的。我以前没有读过你的 php。我想我知道问题所在。但我尝试先构建小提琴以确保我是正确的