jQuery Mobile - Управление DOM - Обновление страницы - PullRequest
3 голосов
/ 09 января 2012

Вся эта мобильная динамическая информация jQuery (получение данных с сервера) сводит меня с ума.Почему так трудно манипулировать DOM и обновлять страницу?

У меня есть моя страница:

<div data-role="page" id="intranet-holidays" data-title="HOLIDAYS" data-add-back-btn="true"></div>

В document.ready у меня есть следующее:

$( document ).delegate( "#intranet-holidays", "pagebeforecreate", function() {
   $('body').addClass('ui-loading');
   $.mobile.loadingMessage = "Loading Holidays...";
   $.mobile.showPageLoadingMsg();
   // calls getJSON to retrieve data from the web server
   loadHolidays();
});

Когда мои данные возвращаются с сервера, я добавляю разборные DIV на свою страницу (праздники в интранете).

Внутри разборных DIV у меня есть несколько UL.

Я знаю, что мой синтаксис правильный, потому что я могу взять сгенерированный HTML, сохранить его в файл, затем отобразить этот файл, и все это показываетправильно.Вот снимок экрана:

enter image description here

Вот как выглядит моя динамически загружаемая страница (не то, что я хочу):

enter image description here

Я знаю, что могу обновить вид списка следующим образом:

$('#list').listview('refresh');

Это прекрасно работает для списка.

Как обновить страницу (которая содержит разборные DIV-файлыи эти складные DIV содержат UL)?

Да, я хочу, чтобы все данные на странице были динамическими.

Ответы [ 2 ]

4 голосов
/ 09 января 2012

В методе обработки success вызова AJAX, который извлекает данные JSON, добавьте $('#intranet-holidays').trigger('create'); после создания списков.

0 голосов
/ 09 января 2012

Попробуйте:

$('#page').trigger('create');

Или читать:

http://www.elijahmanor.com/2011/02/dynamically-appending-elements-to.html

...