可选择的浏览器历史记录(jQuery UI)

时间:2011-06-22 21:42:28

标签: javascript jquery asp.net

当我转到其他页面时,如何保持打开的可选项目?当我回来时,我希望它已经打开了最后一个,无论是我重新加载页面还是来到“上一页”(浏览器历史记录)。 ui-state-active 设置为当前打开的项目。

2 个答案:

答案 0 :(得分:1)

这可能很痛苦但你需要使用cookies。您需要在页面加载时从cookie加载值,并在每次控件更改某些值时保存cookie。我认为jQueryUI选项卡使用jquery.cookie.js进行了此内置。

答案 1 :(得分:1)

您也可以考虑使用location.hash来存储该信息,而不是使用Cookie。

当用户通过浏览器历史记录返回页面时,仍会设置哈希值,并且可以随意检索哈希值。

使用散列根据散列值选择select元素中的选项的基本示例:

<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>