【发布时间】:2011-03-13 21:11:45
【问题描述】:
我编写 ASP.NET 应用程序,我想使用 jQuery DataTables。
在母版页(不在根目录中)我在后面的代码中包含脚本:
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
ScriptManagerSM.Scripts.Add(new ScriptReference(Page.ResolveUrl("~/js/jquery.min.js")));
ScriptManagerSM.Scripts.Add(new ScriptReference(Page.ResolveUrl("~/js/jquery-ui.min.js")));
ScriptManagerSM.Scripts.Add(new ScriptReference(Page.ResolveUrl("~/js/DataTables/jquery.dataTables.js")));
ScriptManagerSM.Scripts.Add(new ScriptReference(Page.ResolveUrl("~/js/setup.js")));
Page.Header.DataBind();
}
在页面中我只有纯 html:<table class="table display">
<thead>
<tr>
<th>Header</th>
<th>Header 2</th>
</tr>
</thead>
<tbody>
<tr class="gradeX">
<td>Cell 1</td>
<td>Cell 2</td>
</tr>
</tbody>
</table>
jQuery 在我的 setup.js 中被类选择器调用:$(function() {
var oTable = $('.table').dataTable( {
"bJQueryUI": true,
"sScrollX": "",
"bSortClasses": false,
"aaSorting": [[0,'asc']],
"bAutoWidth": true,
"bInfo": true,
"sScrollY": "100%",
"sScrollX": "100%",
"bScrollCollapse": true,
"sPaginationType": "full_numbers",
"bRetrieve": true
} );
});
在根目录下的页面上一切正常。但是在子文件夹中的页面上不会触发 jQuery。好像路径有点问题,但我看不到。
感谢您的帮助o..o
编辑:添加设置脚本
编辑 2:添加 jQuery 调用
编辑 3:添加 $(function() { 到 js上面的代码(已经存在于我的真实代码中,只是在这里丢失了
【问题讨论】:
-
您应该使用 Firebug for Firefox 并查看是否有任何 JS 错误。您还可以查看所有内容的加载顺序,以确保 jQuery 在您的其他脚本之前加载。最后,确保通过 $(document).ready({}); 检查 DOM 是否准备就绪。
标签: jquery asp.net datatables