0

我对 jquery 很陌生,所以希望这些东西不是很明显。我搜索了一个解决方案,但没有找到一个特定于我的问题的解决方案。

我有一个经典的 asp 页面,它有一个使用 jquery .get 每 15 秒更新一次的表,然后附加表元素。

$(document).ready(function() {
refresh();
var int = self.setInterval("refresh()",15000);});

function refresh(){
$("table").tablesorter();
$("table tbody tr").remove();
//$("#ajax-append").click(function() {
 $.get("assets/ajax-content.asp", function(html) {
    // append the "ajax'd" data to the table body
    $("table tbody").append(html);
    // let the plugin know that we made a update
    $("table").trigger("update");
});
return false;}

这很好用,我在这里使用示例作为指南: http ://tablesorter.com/docs/example-ajax.html

唯一的问题是“ajax'ed”表中的一列是带有onclick的img标签

function openMessage(strID){
if (strID != ""){
    id = strID;
    //alert(id);
    $('#dialog').dialog('open');  
}

我在对话框中使用 id 变量。我知道这段代码有效,因为在 jquery 表排序器(昨天)之前它已经使用了几个月,并且仍然(在生产中)。

我从 FireBug 得到的错误是:

$("#dialog").dialog 不是函数 [Break On This Error] $('#dialog').dialog('open');

我正在使用他们从 tablesorter 演示中推荐的相同版本的 jquery:http: //tablesorter.com/jquery-latest.js 这不是很新。我注意到如果我使用我的 jquery 文件:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.js"></script>

分拣机不工作。另外,如果我添加 ui 包括:

<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js">/script>

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>

排序不起作用。如果我切换 jquery 包含(而不是 ui),那么 .get() 不起作用,只显示一个表头。

我的问题是,jquery 和 ui 的版本是否可以区分它们可以使用的版本?我的消息对话框非常简单,只需打开一个对话框,该对话框还使用 ajax 根据单击的按钮将读/写发布到数据库。当我包含 ui 时,为什么 tablesorter 的 jquery 版本不起作用?任何解决方法?

我的代码中有什么可能会破坏它吗?

非常感谢您提前提供的任何帮助!

4

1 回答 1

0

我们将 jquery 1.4.2 与 tablesorter 插件一起使用,没有问题。你可以在这里看到这个:http ://www.bet-mate.com

然而,我们没有使用 jquery UI。

一般来说,dialog方法是jquery UI的一种方法。所以排除它是没有意义的。确保您的 jquery UI 版本与您正在使用的 jquery 版本兼容。

如果这无济于事,请尝试获取适用于 jquery 1.4.2 的 jquery UI 版本,并使用这些版本来测试是否可以解决问题。

于 2011-03-31T22:08:58.110 回答