javascript - 如何在页面加载后更改 ‘selected’ 选项

标签 javascript jquery

这个 fiddle 显示下拉列表从“One”开始。我想要发生的是,下拉列表从我的默认值(一)开始,然后一旦我选择不同的选项(二),当我刷新页面时,下拉列表从“二”而不是“一”开始。

https://jsfiddle.net/USERALPHA32/7r59xkrf/

它应该像获取新选择的值并将其设为新的默认选择选项一样简单。我尝试了几种方法,但无法使其发挥作用。 (下面的代码不是 fiddle 的一部分,而是仅显示我在实际代码中尝试过的概念)

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);

最佳答案

如果您希望刷新后仍保存数据, 您必须使用本地存储

将您的选择保存在 localStorage 中并在页面加载时获取他。

当用户选择一个选项时,您可以使用以下代码保存它:

localStorage.setItem("key", "yourOption");

在文档加载时,您检查 key 是否存在:

var data = localStorage.getItem("key");
if(data){
    // here you change dropdown value.
}

您可以选择是否要删除 localStorage 中的值,以便在下一页刷新时它将被清除。

关于javascript - 如何在页面加载后更改 ‘selected’ 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37285074/

相关文章:

javascript - React-Redux 组件不反射(reflect) Redux Store 中的变化

javascript - nodejs crypto 和 CryptoJS 提供不同的 base64(sha256(data)) 输出

jquery - 将 sDom 生成的 html 组件移出数据表?

javascript - jquery .html() 中的 javascript 奇怪行为

javascript - 如何将数据传递到 Bootstrap 模型中?

javascript - node.js - 使用 Express 的参数化路由

javascript - 如果未选择数量,则阻止选择选项;如果数量发生变化,则自动更新价格

javascript - 在 jQuery 中创建一个 div 元素

php - 为什么这个 jQuery 函数无法与我的 php 文件正确通信?

javascript - 从当前对象获取属性以在另一个对象中使用该属性值