JQuery ошибка с различными версиями TableSorter и UI диалог - PullRequest
0 голосов
/ 01 апреля 2011

Я новичок в jquery, так что надеюсь, что это не очевидно.Я искал решение, но не нашел ничего конкретного для моего вопроса.

У меня есть классическая страница 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 (вчера) он использовался в течение нескольких месяцев и все еще находится (в производстве).

Ошибка, которую я получаю от FireBug:

$ ("# dialog"). dialog не является функцией [Break On This Error] $ ('# dialog'). dialog ('open');

Я использую ту же версию jquery, которую они рекомендуют из демоверсии TableSorter: http://tablesorter.com/jquery-latest.js, которая не очень новая.Я заметил, если я использую свой файл jquery:

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

Сортировщик не работает.Плюс, если я добавлю, пользовательский интерфейс включает в себя:

<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 включает (не пользовательский интерфейс), то .get () не работает, и отображается только заголовок таблицы.

Мой вопрос, являются ли версия JQuery и пользовательский интерфейс различать, к которым ониможет работать с?Мой MSG диалог довольно прост, просто открывается диалог, который также использует AJAX для публикации чтения / записи в БД в зависимости от нажатой кнопки.Почему версия jquery для таблиц не работает, когда я включаю интерфейс?Есть ли обходные пути?

Есть ли в моем коде что-нибудь, что могло бы его сломать?

Большое спасибо за любую помощь заранее

1 Ответ

0 голосов
/ 01 апреля 2011

Мы используем JQuery 1.4.2 вместе с плагином TableSorter без проблем.Вы можете увидеть это в действии здесь: http://www.bet -mate.com

Однако мы не используем jquery UI.

В общем, метод диалога - это методJQuery UI.Так что исключать это не имеет смысла.Убедитесь, что у вас есть версия пользовательского интерфейса jquery, совместимая с используемой версией jquery.

Если это не поможет, попробуйте получить версию пользовательского интерфейса jquery, которая работает с jquery 1.4.2, и использовать ее дляпроверьте, решает ли это проблему.

...