【发布时间】:2009-02-18 11:23:48
【问题描述】:
我最近一直在试验 jQuery 的 tablesorter 插件。我已经成功地启动并运行了一次,印象非常深刻。但是,我尝试将 tablesorter 应用到不同的 table,只是遇到了一些困难......
基本上,导致问题的表格在其上方有一个<ul>,它充当表格的一组选项卡。因此,如果您单击其中一个选项卡,则会进行 AJAX 调用,并使用与单击的特定选项卡相关的行重新填充表格。当页面最初加载时(即在单击选项卡之前),tablesorter 功能完全按预期工作。
但是,当单击选项卡并重新填充表格时,该功能会消失,使其没有可排序功能。即使您返回原始选项卡,在单击另一个选项卡后,功能也不会返回 - 唯一的方法是在浏览器中物理刷新页面。
我在这个网站上看到了一个与我的问题类似的解决方案,有人建议使用 jQuery 插件 livequery。我试过了,但没有用:-(
如果有人有任何建议,我将不胜感激。如果有帮助,我可以发布代码 sn-ps(尽管我知道 tablesorter 的实例化代码很好,因为它适用于没有标签的表 - 所以绝对不是那样!)
编辑:
根据要求,这里有一些代码 sn-ps:
被排序的表是<table id="#sortableTable#">..</table>,我正在使用的tablesorter的实例化代码是:
$(document).ready(function()
{
$("#sortableTable").tablesorter(
{
headers: //disable any headers not worthy of sorting!
{
0: { sorter: false },
5: { sorter: false }
},
sortMultiSortKey: 'ctrlKey',
debug:true,
widgets: ['zebra']
});
});
我尝试按如下方式安装 livequery:
$("#sortableTable").livequery(function(){
$(this).tablesorter();
});
但这并没有帮助...我不确定是否应该将表的 id 与 livequery 一起使用,因为它是我应该响应的 <ul> 上的点击,这当然不是表本身。我尝试了多种变体,希望其中一种能有所帮助,但无济于事:-(
【问题讨论】:
标签: jquery ajax tablesorter