【发布时间】:2013-05-31 00:24:56
【问题描述】:
我在使用 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 的一部分,不需要单独包含,但我猜不是)。但是,我仍然没有获得任何功能。我不确定这是否是同一个问题(过去一年我不知何故忘记了控制台输出的存在——我已经离开网页设计很长时间了),但现在我收到了错误@ 987654323@。我在 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。显然这就是问题所在,因为一旦我删除它,表格就会开始正确渲染。感谢大家的帮助!
【问题讨论】:
-
太棒了!我自己喜欢数据表。
标签: javascript jquery datatables