1

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

这是迄今为止我所拥有的一个示例......任何有关 url 参数的帮助将不胜感激。

4

2 回答 2

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
}
于 2011-03-29T00:16:19.017 回答
1

在函数中设置 url 值.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>当然,您可以使用任何您喜欢的方法来选择它们。

于 2011-03-29T00:33:52.543 回答