Обновить динамически созданную страницу в jquery mobile

у меня следующая проблема:

Я использую Jquery mobile, пользователь может искать продукты, и информация об этих страницах создается динамически:

что-то типа :

 $("body").append('<div class="products" data-role="page" id="'+pageId+'"><div data-role="header"><p class="backSearch"><a href="#base" data-rel="back" data-role="button" data-inline="true" data-icon="back">back</a></p><h1>' +data.title+ '</h1></div></div>');

 // create the content DIV
 $('#'+pageId).append('<div data-role="content" id="content_'+pageId+'">...</div>');

Он работает нормально, но проблема в том, что когда вы переходите к сведениям о продукте и нажимаете кнопку «Обновить», форма появляется снова, и, поскольку Дом обновлен, у меня больше нет доступа к сведениям о продукте (нужно выполнить еще один поиск и т. д.). ..)

Есть ли какое-нибудь решение для решения этой проблемы?


person Tarek    schedule 16.09.2011    source источник
comment
Я всегда использовал страницу-заполнитель, динамически добавлял данные и обновлял страницу.   -  person Phill Pafford    schedule 16.09.2011


Ответы (3)


Чтобы сохранить эти данные локально и сделать их доступными после обновления браузера, попробуйте использовать store.js. Это кросс-браузерная библиотека javascript для хранения локальных переменных:

https://github.com/marcuswestin/store.js

person Spike    schedule 16.09.2011
comment
Спасибо за ответ, но я предпочитаю использовать только решение jquery. - person Tarek; 16.09.2011
comment
Вы не сможете хранить эти переменные, используя только jQuery. Вам нужно будет использовать локальное хранилище. Таким образом, ваши лучшие варианты — это либо локальное хранилище с помощью чего-то вроде store.js, либо что-то умное с вашими URL-адресами. - person Spike; 16.09.2011

Я храню данные, используя локальное хранилище браузера. Когда страница обновляется, я проверяю данные в переменной и загружаю их из локального хранилища, если мне нужно.

person ivosantiago    schedule 06.10.2011

Используйте empty() для очистки содержимого цели

$('#'+pageId).empty().append('<div data-role="content" id="content_'+pageId+'">...</div>');
person Mark    schedule 24.10.2011