[英]JQuery Mobile: inline data-role=“page” javascript being retain when page is released from DOM?
[英]jquery mobile - how to pass a parameter when moving from one data-role page to another?
我正在编写一个小型而简单的jquery移动应用程序。
第一页是类别的列表视图,其中填充了从ajax请求中检索的json。
当用户单击类别之一时,应调用第二页。
它应该打开,并带有也会由ajax请求检索的项目列表。 该请求应获得category_id作为参数。
我正计划使用多页模式(同一html中有多个页面)。
这是我的js代码:
$(function() {
initListByUrl($("#categories_ul"), 'http://localhost:3000/categories');
});
function initListByUrl(id, requestUrl) {
$.ajax({
url: requestUrl,
type:'GET',
dataType:'json',
success: function(data) {
var items = []
$.each(data, function(i, elem) {
items.push('<li id="cat_li_'+i+'"><a href="#items">' + elem.name + '</a></li>');
});
id.html(items).listview('refresh');
}
});
}
类别的ID是elem中的另一个字段,我们假设-elem.id。 我如何将此ID作为参数传递给将构建第二页的代码? 我应该使用会话存储吗?
您可以使用javascript堆栈来推送和弹出每个页面所需的数据,例如您可以在elem.id
中push
elem.id,然后在被调用或查看的页面中pop
并使用elem.id
var stack = [];
stack.push(3);
var data = stack.pop();
alert(data);
我已经根据MIT许可创建了一个与jQuery Mobile 1.4+兼容的插件。 该插件允许您使用URL参数在页面之间进行通信。 另外,由于数据在URL中,因此它可以处理页面刷新以及用户直接进入应用程序中的特定jQuery Mobile页面。 您可以在GitHub上找到它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.