html 是否有一种方法可以使所选选项在刷新时成为默认值?

jogvjijk  于 9个月前  发布在  其他
关注(0)|答案(3)|浏览(71)

我今天有这个问题,我想我选择的选项将是我的页面刷新后的默认值.例如,我有这个:

<select id="options">
<option value="0">Apple</option> 
<option value="1">Orange</option> 
<option value="2">Mango</option></select>

字符串
我的UI上的默认值是苹果,所以我想要的是当我点击橙子选项时,它将是默认值,当我刷新页面.有办法做到这一点吗?谢谢

qgzx9mmu

qgzx9mmu1#

我认为本地存储可以帮助你。例如:

<select id="options">
<option value="0">Apple</option> 
<option value="1">Orange</option> 
<option value="2">Mango</option></select>

字符串
JavaScript

$("#options").on("change", function(){
    var val = $(this).val();
    // save to local
    if(window.localStorage){
        window.localStorage.setItem("#options-val", val);
    }
});

if(window.localStorage){
    var item = window.localStorage.getItem("#options-val");
    if(item) $("#options").val(item);
}


参见demo
所有的js代码都必须在$(document).ready()中
在演示中运行代码后,尝试重新加载页面,你会看到结果!

vsaztqbk

vsaztqbk2#

使用onchange设置一个会话cookie然后设置选项.当页面加载时选择

<select id="options" onChange="document.cookie='fruit='+this.value;">
<option value="0">Apple</option> 
<option value="1">Orange</option> 
<option value="2">Mango</option></select>

<script type="text/javascript">
<!--
function getCookie(cname)
{
/* http://www.w3schools.com/js/js_cookies.asp */
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++)
  {
  // var c = ca[i].trim(); // trim not supported on IE8
  var c = ca[i].replace(/^\s+|\s+$/gm,'');
  if (c.indexOf(name)==0) return c.substring(name.length,c.length);
  }
return "";
} 
window.onload = function() {
    var v = getCookie('fruit');
    if (v) document.getElementById('options').options[v].selected = true;
}
//-->
</script>

字符串

n8ghc7c1

n8ghc7c13#

将selected=“selected”设置为您想要的默认选项。

<option selected="selected">
  default
</option>

字符串

相关问题