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;

次に、オンロードしてハッシュを解析します。

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

ちなみに、このコードでは選択の便宜上、filterControlon eachのクラスを想定しています。<select>もちろん、好きな方法で選択できます。

于 2011-03-29T00:33:52.543 に答える