我在使用 jQuery 库 DataTables 时遇到问题。我遵循了他们的文档,遇到了一个奇怪的问题。首先,我试图使用 FixedColumn 功能,但即使他们提供的示例也无法运行(至少不是从http://datatables.net/extras/fixedcolumns/#链接的 jsBin 设置中的那个) . 不过,我主要担心的是我根本无法从 DataTables 中获得任何功能。我已经创建了一个简化版本的网站,我正在尝试使用它来定位问题,并且简化的代码在 jsBin 中(在一定程度上)有效,但在我自己的系统上根本无效。简化的代码包含在下面。有谁知道可能导致此问题的原因?
<!DOCTYPE html>
<html lang="en">
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" ></script>
<link rel="stylesheet" type="text/css" href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/css/jquery.dataTables.css">
<script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js"></script>
<script>
$(document).ready(function () {
var travelTableScroll = $('#travelTable').dataTable();
new FixedColumns(travelTableScroll);
});
</script>
</head>
<body>
<table id="travelTable" class="display">
<thead>
<tr>
<th>Employee</th>
<th>January</th>
<th>February</th>
<th>March</th>
<th>April</th>
<th>May</th>
<th>June</th>
<th>July</th>
<th>August</th>
<th>September</th>
<th>October</th>
<th>November</th>
<th>December</th>
<th>January</th>
<th>February</th>
<th>March</th>
<th>April</th>
<th>May</th>
<th>June</th>
<th>July</th>
<th>August</th>
<th>September</th>
<th>October</th>
<th>November</th>
<th>December</th>
</tr>
</thead>
<tbody>
<tr>
<td>test</td>
</tr>
<tr>
<td>test</td>
</tr>
<tr>
<td>test</td>
</tr>
<tr>
<td>test</td>
</tr>
<tr>
<td>test</td>
</tr>
<tr>
<td>test</td>
</tr>
<tr>
<td>test</td>
</tr>
<tr>
<td>test</td>
</tr>
<tr>
<td>test</td>
</tr>
<tr>
<td>test</td>
</tr>
<tr>
<td>test</td>
</tr>
<tr>
<td>test</td>
</tr>
<tr>
<td>test</td>
</tr>
<tr>
<td>test</td>
</tr>
<tr>
<td>test</td>
</tr>
<tr>
<td>test</td>
</tr>
<tr>
<td>test</td>
</tr>
</tbody>
</table>
</body>
</html>
更新: 嗯,我已经尝试向每一行添加适当数量的单元格,如下所示。另外,我包含了 FixedColumns 的链接(我假设它是 DataTables 的一部分,不需要单独包含,但我想不是)。但是,我仍然没有获得任何功能。我不确定这是否是同一个问题(过去一年我不知何故忘记了控制台输出的存在——我已经离开网页设计很长时间了),但现在我得到了错误TypeError: $(...).dataTable is not a function
。我在 Google 上做了一些查找,可能的原因似乎是 DataTables 未加载或 jQuery 已加载两次。我不知道问题出在哪里,但问题之前的唯一链接/脚本行如下:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" ></script>
<link rel="stylesheet" type="text/css" href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/css/jquery.dataTables.css">
<script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="http://datatables.net/release-datatables/extras/FixedColumns/media/js/FixedColumns.js"></script>
最终更新: 我找到了最后一个问题的根源——事实证明,由于我使用的是来自可怕的 Microsoft 的 Visual Studio 编辑器的 .NET 框架,我没有完全看到布局文件,并且其中有一行导入了一些其他版本的 jQuery。显然这就是问题所在,因为一旦我删除它,表格就会开始正确呈现。感谢所有的帮助!