javascript - 页面刷新后怎么让select保持选中上一个选定值,可以用隐藏域保存吗
天蓬老师
天蓬老师 2017-04-11 12:07:30
[JavaScript讨论组]

有人说用隐藏域保存value,给select触发onchange事件后改变隐藏域的值,可是我用这个方法写在页面刷新之后隐藏域并不能保存上面的值(是我写错了 还是这个方法是不可行的?)

html的代码


            

js的代码

var selectVal=document.getElementById("selectVal");
    var select=document.getElementById("search-select");
    selectVal.value=select.value;
    alert(selectVal.value);
    function change(){
          var val=select.options[select.selectedIndex].value;
          selectVal.value=val;
        //用隐藏域存数据 
    }
    for(var i=0;i

接触js不多+ +有点懵逼
除了从后台返回数据和用Ajax 请问各位大神还有其他方法吗?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(7)
怪我咯

把选择的值放入location.hash中,无论是页面刷新,还是页面分享都可以很好的解决

巴扎黑

localStorage或者cookie

大家讲道理

页面加载不是onload吗?onchange也有这功能?是我时间长不接触,新出来的功能难道

ringa_lee

建议是使用localstorage,保存住选中的状态,进入新页面,先取这个存好的值(但是他换电脑,换浏览器你就gg了)

迷茫
<select name="sel" id="se">
    <option value="select your choose">select your choose</option>
    <option value="one">one</option>
    <option value="two">two</option>
    <option value="three">three</option>
</select>
<input type="hidden">
<script type="text/javascript">
var se = document.getElementById('se');
se.onchange = function(){
    localStorage.value = this.value;
    localStorage.index = this.selectedIndex;
    // console.log( localStorage.index +";"+ localStorage.value );
}
window.onload = function(){
    // alert( localStorage.index +";"+ localStorage.value );
    se.options[ localStorage.index ].selected = true;
}
黄舟

localstorage 保存一个selectid的值,再写一个js让option的value值等于selectid的时候selected不就可以。

巴扎黑

页面刷新页面里面的值都会为初始状态。 你可以通过localstorage

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号