JQuery переключить опцию выбора div с параметрами URL - PullRequest
1 голос
/ 29 марта 2011

Я создал расширенный фильтр для таблицы данных. Теперь я хотел бы добавить выбранные параметры в качестве параметров URL. Таким образом, каждый раз, когда выбирается опция, URL-адрес будет меняться, и если страница будет перезагружена, она откроется для выбранного фильтра на основе параметров URL-адреса.

Вот пример того, что я имею до сих пор ... любая помощь с параметрами URL будет оценена.

Ответы [ 2 ]

2 голосов
/ 29 марта 2011

Используйте фрагмент URL для этого.Таким образом, вы можете изменить URL в javascript без перезагрузки страницы.Затем, когда вы нажмете обновить, этот фрагмент придерживается URL.

Итак, каждый раз, когда значение раскрывающегося списка изменяется, установите значение в URL следующим образом:

window.location.hash = '#somevalue'

Затем, когдастраница загружается:

$(document).ready(function() {
   // access hash using window.location.hash and show/hide based on its value
}
1 голос
/ 29 марта 2011

Установите значение 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]);
    });
});

Кстати, этот код предполагает класс filterControl для каждого <select> для удобства их выбора. Вы можете, конечно, использовать любой метод, который вам нравится, чтобы выбрать их.

...