我爲數據表創建了一個高級過濾器。現在我想將所選選項添加爲url參數。所以每次選擇一個選項時,URL都會改變,如果頁面被重新加載,它會根據url參數打開選定的過濾器。jQuery切換div選擇選項與url參數
這是我到目前爲止的example ...任何有關url參數的幫助將不勝感激。
我爲數據表創建了一個高級過濾器。現在我想將所選選項添加爲url參數。所以每次選擇一個選項時,URL都會改變,如果頁面被重新加載,它會根據url參數打開選定的過濾器。jQuery切換div選擇選項與url參數
這是我到目前爲止的example ...任何有關url參數的幫助將不勝感激。
使用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
}
在.change()
設置的URL值功能。這將每次更換當前的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]);
});
});
順便說一句,這個代碼假定每個<select>
一類filterControl
爲了方便選擇他們。當然,你可以使用任何你喜歡的方法來選擇它們。
可以用於一個......但是如果選擇了所有三個值會怎麼樣 – Jeffrey 2011-03-29 00:28:05
您可以在散列中存儲任何字符串。所以,要有創意......將值存儲在逗號分隔的字符串中。當你需要什麼值的時候,在逗號分割得到你選擇的值列表。 – DNR 2011-03-29 16:40:58