首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery:按下后退按钮时,级联下拉列表丢失值

JQuery:按下后退按钮时,级联下拉列表丢失值
EN

Stack Overflow用户
提问于 2010-03-18 18:35:13
回答 1查看 1.9K关注 0票数 1

我已经使用JQuery编写了一个级联下拉列表。我编写的代码可以正常工作;级联列表在更改时会更新级联列表。但是,当我离开页面并按下浏览器上的后退按钮时,级联下拉列表失去了它的值。以下是我的代码(类别列表在更改时会填充产品列表):

代码语言:javascript
复制
<select id="CategoryList" onchange="CategoryList_OnChange()">
    <option value="" selected="selected"></option>
    <option value="1" selected="selected">Food</option>
    <option value="2" selected="selected">Toys</option>
    <option value="3" selected="selected">Books</option>
</select>

<select id="ProductList"></select>

<script src="../../Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>

<script type="text/javascript">
    function CategoryList_OnChange() {
        var selected = $('#CategoryList').val();
        if (selected != null && selected != '') {
            $.getJSON('SelectList/ProductList/' + selected, function(selectList) {
                $('#ProductList option').remove();
                $.each(selectList, function(index, value) {
                    $('#ProductList').append("<option value='" + value.Value + "'>" + value.Text + "</option>");
                });
            });
        }        
    }
</script>

有没有办法在导航离开页面时也能保持填充ProductList?我对浏览器工作原理的理解是,它们的目的是保持页面的状态,即使在导航离开时也是如此。

我知道我只需要把代码放入

代码语言:javascript
复制
$(document).ready(function() { ... });

它将显式地调用onchange方法,但这有一个缺点,那就是调用网站,而实际上我希望页面保持现有状态。

请帮帮我!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-18 20:04:11

浏览器为什么要保留由js操作产生的状态。大多数浏览器都不会。

您可以尝试使用cookies library并保存所选的类别(如果有)。当用户稍后返回页面并且在此期间没有清除cookie时,您可以从cookie中读出该值,并自动发出$.getJSON请求以“重新填充”产品列表

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2469053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档