JQuery Mobile - 无法从URL获取参数

时间:2013-07-07 13:52:51

标签: javascript jquery jquery-mobile

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

1 个答案:

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

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