ОБНОВЛЕНИЕ: Извините, я случайно скопировал строку data-dom-cache="true"
в свой контент-div. Кажется очень логичным, что приложение загружается из дома вместо нового контента! Я изменил его на false
, и теперь он работает отлично.
У меня есть динамически генерируемый список. Если кто-то нажимает на запись в списке, пользователь перенаправляется на новую страницу, где загружаются данные (динамически). Загружаемые данные зависят от записи списка, которую щелкнул пользователь.
Когда приложение загружается в первый раз, все работает нормально. Но когда пользователь щелкает другую запись списка, отображаются те же данные, что и при первом запуске.
Я экспериментировал с функцией .empty()
из jQuery (для очистки div и добавления новых данных), но она не работает.
РЕДАКТИРОВАТЬ:
Мой файл headlines.html выглядит так:
<div id="content>
<div id="headlineslist">
<ul data-role="listview" data-theme="c" id="headlineslist">
</ul>
</div>
</div>
<script>
$(document).ready(function() {
HeadlinesLoad();
});
</script>
Вот файл Javascript:
function HeadlinesLoad() {
$.ajax({
type: "POST",
url: "headlines_getter.php",
dataType: 'json',
cache: false,
success: function(data1) {
$.each(data1, function(i, currentObj) {
$('ul#headlineslist').append('<li data-role="list-divider"
class="ui-li ui-li-divider ui-bar-b">' + currentObj.main + '</li>').listview('refresh');
$.each(currentObj.sub, function (j, currentSub) {
$('ul#headlineslist').append('<li>
<a href="headlinesclicked_temp.html" onclick="headlineID(' + currentSub.sid + ')">' + currentSub.name + '</a></li>').listview('refresh');
});
});
}
});
}
function headlineID(hID) {
window.localStorage.setItem("headlineID", hID);
}
function onHeadlinesLoad() {
var hID = window.localStorage.getItem("headlineID");
window.localStorage.removeItem("headlineID");
window.localStorage.clear();
$.ajax({
url: "headlinesclicked_getter.php?hID=" + hID,
success: function(html) {
if(html){
$("#headlineshome").empty();
$("#headlineshome").html(html);
}
}
});
}
А вот фрагмент, который лежит в файле HTML, где данные должны отображаться (и обновляться каждый раз). новый щелчок пользователь делает):
<div data-role="content" id="headlineshome"></div>
<script>
$(document).ready(function() {
onHeadlinesLoad();
});
</script>
Я не знаю, почему это не работает, поэтому я прошу вас о помощи.
Заранее спасибо.
С уважением, Джон.