这个小提示显示下拉菜单从'One'开始。我想要发生的是下拉菜单从我的默认值(一)开始,然后一旦我选择一个不同的选项(二),当我刷新页面时,下拉菜单从'两个'而不是'一个'开始。
https://jsfiddle.net/USERALPHA32/7r59xkrf/
它应该就像获取新选择的值并使其成为新的默认选择选项一样简单。我尝试了几种方法,但我无法让它发挥作用。 (下面的代码不是小提琴的一部分,只是展示了我在实际代码中尝试过的概念)
var nSel = $(‘option:selected’, this).detach();
$(this).prepend(nSel);
console.log(nSel.val());
//The above ’nSel’ is the correct value I’m clicking on.
//None of these below worked.
// $('#dropdown option:selected').val(nSel.val());
// console.log($('#dropdown option:selected').val(nSel.val()));
// $("#dropdown").val(nSel.val());
// $("#dropdown").val();
// console.log($("#dropdown").val(nSel.val()));
// $("#dropdown").find(':selected').val();
// $('select').find('option', nSel.val());
// $('#dropdown option:selected', nSel.val());
// $('#dropdown option:selected').val(nSel);
答案 0 :(得分:3)
如果您想要在刷新后保存数据, 你必须使用 localStorage 。
将您的选择保存在localStorage中并在页面加载时获取。
当用户选择一个选项时,您可以使用以下代码进行保存:
localStorage.setItem("key", "yourOption");
在文档加载时,检查密钥是否存在:
var data = localStorage.getItem("key");
if(data){
// here you change dropdown value.
}
您可以选择是否要删除localStorage中的值,以便在下一页刷新时它将是干净的。
答案 1 :(得分:0)
如果要在刷新网络后保存值,则必须使用 cookie或localStorage ,然后使用新值设置此变量。
相反,你想要的传统刷新" reflesh"使用ajax,您可以在js文件中使用全局变量。
<强> COOKIE 强>
设置Cookie
$.cookie("example", "foo"); // Sample 1
$.cookie("example", "foo", { expires: 7 }); // Sample 2
$.cookie("example", "foo", { path: '/admin', expires: 7 }); // Sample 3
获取Cookie
console.log( $.cookie("example") );
删除Cookie
$.removeCookie("example");
<强> localStorage的强>
var data = localStorage.getItem("key");
if(data){
// Code
}