JQuery ошибка с различными версиями TableSorter и UI диалог
Я новичок в 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" есть тег 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, которую они рекомендуют из демонстрации tableorter: 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 ответ
Мы используем JQuery 1.4.2 вместе с плагином TableSorter без проблем. Вы можете увидеть это в действии здесь: http://www.bet-mate.com/
Однако мы не используем jquery UI.
В общем, метод диалога - это метод пользовательского интерфейса jquery. Так что исключать это не имеет смысла. Убедитесь, что у вас есть версия пользовательского интерфейса jquery, совместимая с используемой версией jquery.
Если это не поможет, попробуйте получить версию пользовательского интерфейса jquery, которая работает с jquery 1.4.2, и используйте ее, чтобы проверить, решает ли это проблему.