我有一个动态创建的列表视图,每个列表项都是这样的链接:index.html#ClubPage?id=X
(其中X是int)。
我希望在页面加载之前获取ID参数,但似乎参数消失了。
$("#ClubPage").on("pagebeforeshow", function (event) {
alert( $(this).data("url") );
alert( window.location.href );
alert( window.location.search );
});
使用此代码,第一个警报返回“ClubPage”,第二个返回localhost/#ClubPage
,第三个返回空白字符串。
如何获取ID参数及其值?似乎没有任何作用: - \
答案 0 :(得分:0)
Jquery mobile操作单页模板的URL。您必须以不同的方式传递参数。
如何操作的示例:
<a href="#clubPage" param="3">Some Link</a>
您可以通过多种方式执行此操作,但我已将id值放在“param”下的链接中。
在下一节中,当他们点击并将其存储在sessionStorage时,我将拉出该参数。然后重定向到正确的页面。然后抓住参数“beforepageshow”。
$('body').on('click','a[href="#clubPage"]',function(e){
e.preventDefault();
var param = $(this).attr('param');
sessionStorage.setItem('clubPage_param', param);
location.href = "index.html#ClubPage";
});
$("#ClubPage").on("pagebeforeshow", function (event) {
var param = sessionStorage.getItem('clubPage_param');
//now you have your item here
});
我确信有多种方法可以执行此操作,您可以将链接保留在href中并在重定向到新页面之前将其剪切掉。或者将值存储在javascript变量中。
您也可以制作单页并以正常方式传递参数。 希望有所帮助。