0

我對jquery很新,所以希望這個東西不是很明顯。我搜索了一個解決方案,但沒有找到一個特定於我的問題。jquery錯誤與不同版本tablesorter和用戶界面對話框

我有一個經典的asp頁面,它有一個表格,每隔15秒更新一次使用jquery .get,然後附加表格元素。

$(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」表中的列之一是img標籤的onclick

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

} 我在對話框中使用了id變量。我知道這段代碼的工作原理是因爲在jquery tablesorter(昨天)之前它已經被使用了幾個月,而且還在(正在生產中)。

我從螢火得到的錯誤是:

$( 「#對話」)對話框是不是一個函數 [打破這個錯誤] $( '#對話')對話框( '開放')。 ;

我使用jQuery的相同版本,他們推薦從tablesorter演示: 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的版本是歧視他們可以使用? 我的msg對話框非常簡單,只是打開一個對話框,該對話框還使用ajax將讀取/寫入數據庫,具體取決於單擊的按鈕。爲什麼包含ui時,tablesorter的jquery版本不起作用?任何解決方法?

在我的代碼中有什麼可以打破它嗎?

非常感謝您的幫助!

回答

0

我們正在使用jquery 1.4.2和tablesorter插件,沒有問題。你可以在這裏看到這個動作:http://www.bet-mate.com

但是我們沒有使用jQuery UI。

一般來說,對話方法是一種jQuery UI的方法。所以排除這是沒有意義的。確保你有一個與你正在使用的jQuery版本兼容的jQuery UI版本。

如果不幫助試圖獲取與jQuery 1.4.2工作的jQuery UI的版本,並使用這些測試是否能解決問題。

相關問題