2010-03-14 56 views
1

我發現這個很棒的Tablesorter插件用於jQuery,但是我無法讓它與我生成的PHP表格一起工作。以下是代碼:Mysql PHP生成的表格:不能與Tablesorter一起工作

<script type="text/javascript"> 


    function table() { 

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

    } 


    $(document).ready(function() { 

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

</script> 

其中#container是表格所在的div,table是表格的名稱。我得到表加載但排序功能無法正常工作。

它的工作原理是,如果我把表格直接放在頁面的html中,但是我沒有看到有一個用於排序的靜態表格。

任何幫助將不勝感激。

回答

3

$ .load()執行異步請求,即該函數在返回之前不會等待數據到達。因此$("table").tablesorter();在將表添加到文檔之前最有可能執行。要麼使其成爲同步調用,要麼(更好)傳遞處理程序以加載完整的事件。

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

.load(URL,[數據],[完成(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> 
+0

非常感謝VolkerK! :)這就像一個魅力。 我希望其他使用AJAX的Tablesorter的用戶能夠像我一樣找到答案。 – 2010-03-14 13:14:44