【发布时间】:2014-02-28 21:09:58
【问题描述】:
好的,我已经尝试了一切,是时候请教专家了!
我有一个多页 JQM 应用程序。
index.html - 从这里开始并使用 Ajax 提取项目列表,效果很好 - 创建一个 ListView
streets.html - 一旦你点击 index.html 上的 ListView 项目,你就会来到这个页面,它会向下钻取并使用 Ajax 创建一个 ListView - 也可以正常工作
homes.html - 一旦你点击了streets.html 上的 ListView 项目,你就会来到这个页面,它会再次向下钻取并使用 Ajax 创建一个 ListView - 也可以正常工作
delivery.html - 单击 home.html 上的 ListView 项目后,您将进入此页面,我有一个表单来提交数据。提交数据工作正常。但是当我重定向到 home.html 时,我希望重新加载 Ajax 列表,但它不会。
我尝试过链接、changePage 等。无法让它刷新 home.html
这是homes.html的代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery Mobile Web App</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.1/jquery.mobile-1.4.1.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.1/jquery.mobile-1.4.1.min.js"></script>
<script>
$(document).delegate('#streetListPageMain', 'pagecreate', function () {
function getURLParameter(name) {
return decodeURI(
(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
);
}
var street = getURLParameter('id');
$.ajax({
type: "Get",
url: "addresses.php",
data: {"id": street},
success: function(data) {
$('#streetList li').remove();
var obj = $.parseJSON(data);
streets = obj.items;
$.each(streets, function(index, street) {
if (street.serial_number == null) {
$('#streetList').append('<li><a href="delivery.html?id=' + encodeURIComponent(street.addressID) + '" data-ajax="false">' +
'<h4>' + street.house_number + ' ' + street.street_name + ' </h4>' +
'</li>')
} else {
$('#streetList').append('<li><a href="delivery.html?id=' + encodeURIComponent(street.addressID) + '" data-ajax="false">' +
'<h4>' + street.house_number + ' ' + street.street_name + ' (completed) </h4>' +
'</li>')
}
});
$('#streetList').listview('refresh');
}
});
});
</script>
</head>
<body>
<div id="streetListPageMain" data-role="page" data-cache="false">
<div data-role="header" data-position="fixed">
<h1>Streets</h1>
</div>
<div data-role="content">
<ul id="streetList" data-role="listview" data-filter="true"></ul>
</div>
</div>
</body>
</html>
【问题讨论】:
-
所以你将
- 元素添加到 streetList
- 然后你将浏览器重定向到另一个页面?
- 元素添加到 streetList
-
$.mobile.changePage("homes.html", { reloadPage: ture });确保所有样式表和 JS 库都在此页面/文件的<head>中。