2011-06-22 29 views
0

當我轉到其他頁面時,如何保持打開選擇項目?當我回來時,我希望它已經打開了最後一個,無論是當我重新加載頁面還是來到「上一頁」(瀏覽器歷史記錄)時。 用戶狀態激活設置爲當前打開的項目。Selectable(jQuery UI)的瀏覽器歷史記錄

回答

1

除了使用cookie之外,您還可以考慮使用location.hash來存儲該信息。

當用戶通過瀏覽器歷史記錄返回到頁面時,散列仍然會被設置並可以隨您檢索。

使用散列基於散列值選擇元素選擇一個選項,一個基本的例子:

<script> 
$(function() { 
    // read the hash and strip the '#' if found 
    var hashValue = (location.hash != "") ? location.hash.substr(1) : null; 

    // select the option with value = hashvalue 
    if(hashValue) { 
     $("#selectElement").val(hashValue); 
    } 

    // when the user selects an option, store the option value in the location.hash 
    $("#selectElement").change(function() { 
     location.hash = $(this).val(); 
    }); 
}); 
</script> 

<select id="selectElement"> 
    <option value="1">option 1</option> 
    <option value="2">option 2</option> 
    <option value="3">option 3</option> 
    <option value="4">option 4</option> 
</select> 
+0

它的工作原理,但在jQuery的太多的工作,除去申報單,並添加這是我應該的。 – gormit

+0

您也可以使用散列來存儲最後點擊的元素的信息(例如'id'),該元素使頁面處於您想要記住的狀態,然後在用戶返回時重新播放相同的事件該頁面使用[jQuery .trigger()](http://api.jquery.com/trigger/):'$(「#」+ hashValue).trigger(「click」);' –

+0

就是這樣。非常感謝! – gormit

1

這可能很痛苦,但您需要使用cookie。您需要在加載頁面時從Cookie中加載值,並在每次控件更改某個值時保存Cookie。我認爲jQueryUI選項卡使用了jquery.cookie.js