Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用“浏览器后退”按钮导航时,Dropdownlist选定值不会返回_Jquery_Asp.net Mvc 3_Html Select - Fatal编程技术网

Jquery 使用“浏览器后退”按钮导航时,Dropdownlist选定值不会返回

Jquery 使用“浏览器后退”按钮导航时,Dropdownlist选定值不会返回,jquery,asp.net-mvc-3,html-select,Jquery,Asp.net Mvc 3,Html Select,我有一个下拉列表。一旦用户更改其选定值,页面将重新加载 html如下所示: <select id="period" name="MyViewModel.Period"> <option selected="selected" value="/Home/11-2012/Index">November 2012</option> <option value="/Home/10-2012/Index">October 2012</o

我有一个下拉列表。一旦用户更改其选定值,页面将重新加载

html如下所示:

<select id="period" name="MyViewModel.Period">
    <option selected="selected" value="/Home/11-2012/Index">November 2012</option>
    <option value="/Home/10-2012/Index">October 2012</option>
</select>
<script type="text/javascript">
    $(document).ready(function () {
        $('select#period').change(function () {
            var temp = $(this).find('option:selected').val();
            document.location.href = temp;
        });
    });
</script>

2012年11月
2012年10月
jquery脚本如下所示:

<select id="period" name="MyViewModel.Period">
    <option selected="selected" value="/Home/11-2012/Index">November 2012</option>
    <option value="/Home/10-2012/Index">October 2012</option>
</select>
<script type="text/javascript">
    $(document).ready(function () {
        $('select#period').change(function () {
            var temp = $(this).find('option:selected').val();
            document.location.href = temp;
        });
    });
</script>

$(文档).ready(函数(){
$('select#period')。更改(函数(){
var temp=$(this.find('option:selected').val();
document.location.href=temp;
});
});
一切都很好,但如果用户在加载回原始页面时使用“浏览器后退”按钮,则所选值会发生更改。这肯定会让用户感到困惑

所以,当通过浏览器返回按钮导航到上一页时,是否可以避免dropdownlist值发生更改

附言:这看起来像是一个类似的问题,但没有答案,只有使用java脚本重新分配值的想法。但我没能理解。。。我希望关闭缓存不是唯一的出路。我最好放弃使用下拉列表,然后

我原来的帖子,把我带到了这个问题上

一旦用户更改其选定值,页面将重新加载


如果您可以使用ajax重新加载页面内容,那么您就不会有这个问题。

这是一个解决我问题的解决方法

我添加了一个链接,显示当前日期,并隐藏了dropdownlist:

HTML:

然后,我添加了一个jquery脚本,切换下拉列表并更改下拉列表中的选定值。更改选定值后,我再次隐藏列表:

<script type="text/javascript">
    $(document).ready(function () {
        $('select#period_s').change(function () {
            var temp = $(this).find('option:selected').val();                
            $(this).toggle();
            document.location.href = temp;
        });
        $('a#period_a').click(function () {
            $('select#period_s').val($(this).attr('data'));
            $('select#period_s').toggle();
        });
    });
</script>

$(文档).ready(函数(){
$('select#period_')。更改(函数(){
var temp=$(this.find('option:selected').val();
$(this.toggle();
document.location.href=temp;
});
$('a#period_a')。单击(函数(){
$('select#period_s').val($(this.attr('data'));
$('select#period_')。切换();
});
});

除非有人给出更好的解决方案,否则我会将此标记为答案。

不幸的是,我现在没有机会应用ajax……无论如何,谢谢。