Mysql PHP生成的表:不能与Tablesorter一起使用

时间:2010-03-14 03:09:17

标签: php jquery mysql ajax tablesorter

我为jQuery找到了这个很棒的Tablesorter插件,但我无法使用PHP生成的表。这是代码:

<script type="text/javascript">


    function table() {

        $("#container").load("table.php?randval="+Math.random());

    }


    $(document).ready(function() { 

        table();
        $("table").tablesorter(); 
   }); 

</script>

其中#container是表所在的div,table是表的名称。我得到了表加载,但排序功能不起作用。

如果我把表直接放在页面的html中,它就可以工作..但我没有看到有一个静态表进行排序的重点。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

$ .load()执行异步请求,即函数不会在返回之前等待数据到达。因此,在将表添加到文档之前,最有可能执行$("table").tablesorter();。要么使它成为同步调用,要么(甚至更好)传递一个处理程序,以便加载完整的事件。

http://api.jquery.com/load/

.load(url,[data],[complete(responseText,textStatus,XMLHttpRequest)])
url 包含请求发送到的URL的字符串 数据随请求发送到服务器的地图或字符串 complete(responseText,textStatus,XMLHttpRequest)请求完成时执行的回调函数。
<script type="text/javascript">
  $(document).ready(function() { 
    $("#container").load(
      "table.php?randval="+Math.random(),
      null,
      function (responseText, textStatus, req) {
        $("table").tablesorter();
      }
    );
  }); 
</script>