如何在页面加载后更改“选定”选项

时间:2016-05-17 19:50:03

标签: javascript jquery

这个小提示显示下拉菜单从'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);

2 个答案:

答案 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
}