jQuery切换div选择选项和url参数

时间:2011-03-29 00:10:46

标签: jquery toggle html-select url-parameters

我为数据表创建了一个高级过滤器。现在我想将所选选项添加为url参数。因此,每次选择一个选项时,网址都会更改,如果页面重新加载,它将根据网址参数打开所选的过滤器。

这是我目前所拥有的example ...对url参数的任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:2)

使用URL片段执行此操作。这样你就可以在不重新加载页面的情况下修改javascript中的URL。然后,当您点击刷新时,该片段会粘贴URL。

因此,每次下拉值更改时,请在URL中设置值,如下所示:

window.location.hash = '#somevalue'

然后,当页面加载时:

$(document).ready(function() {
   // access hash using window.location.hash and show/hide based on its value
}

答案 1 :(得分:1)

.change()功能中设置网址值。这将每次替换当前的url哈希:

var urlArgs = $(".filterControl:visible").map(function()
{
    return this.id + "=" + $(this).val();
}).get().join("&");
location.href = "#" + urlArgs;

然后,onload,解析哈希:

$(function()
{
    $.each(location.hash.replace(/\#/, "").split("&"), function(filterArg)
    {
        var parts = filterArg.split("=");
        $("#" + parts[0]).val(parts[1]);
    });
});

顺便说一下,为了方便起见,这段代码假定每个filterControl都有一个<select>类。当然,您可以使用您喜欢的任何方法来选择它们。