0

我有一个动态创建的列表视图,每个列表项都是这样的链接:(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 参数及其值?似乎没有任何效果:-\

4

1 回答 1

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 变量中。

您也可以制作单页并以这种方式正常传递参数。希望有帮助。

于 2013-07-07T14:57:50.500 回答