javascript - 如何使用 jquery 将单选按钮值存储在 sessionStorage 中

标签 javascript jquery html session-storage sessionstorage

我的导航栏中有单选按钮,我想存储一个 session 的值,或者我可以说它会在用户访问网站的不同页面时自动保留相同的值,但在浏览器或选项卡关闭时重置。我发现的是 sessionStorage,我尝试了它,但不幸的是它不起作用,这是我的代码

  <lab

  console.log($('[type=radio]').length);
  
        $("#option1").click(function() {
          console.log('I am inside radio type'+this.value);
          sessionStorage.setItem('option', this.value);
        });

        $("#option2").click(function() {
          console.log('I am inside radio type'+this.value);
          sessionStorage.setItem('option', this.value);
        });
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

 <!-- <div class="btn-group btn-group-toggle" data-toggle="buttons"> -->
  <!-- <label class="btn btn-secondary active"> -->
  <input type="radio" value="shop" name="option" id="option1">option1
  <!-- </label> -->
  <!-- <label class="btn btn-secondary"> -->
  <input type="radio" value="product" name="option" id="option2">option2
  <!-- </label> -->
  <!-- </div> -->

el class="btn btn-secondary active"> 选项1 选项2

在脚本中我尝试的是

$('[type=radio]').click(function() {
        var value = $('[name="option"]').val();
        sessionStorage.setItem('option',value);
});

console.log(sessionStorage.getItem('option'));

它每次都是唯一的打印选项1,这是我想要实现的正确方式吗?

最佳答案

类型值需要格式化为带有引号的字符串,如下所示:

$('input[type="radio"]').click(function() { 
    console.log('I am inside radio type'); 
    sessionStorage.setItem('option', this.value); 
});

如果您动态加载这些按钮/加载脚本后,您可以将监听器附加到文档对象:

$(document).on('click', 'input[type="radio"]', function() { 
    console.log('I am inside radio type'); 
    sessionStorage.setItem('option', this.value); 
});

关于javascript - 如何使用 jquery 将单选按钮值存储在 sessionStorage 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49015846/

相关文章:

javascript - 使用用户输入在 SVG 和 HTML 中绘制和动画三 Angular 形

javascript - 变量名末尾有一个变量

javascript - jQuery - 在 CSS 背景颜色切换上放置 1 秒过渡

HTML5 网络摄像头提要,试图在计时器上将图像绘制到 Canvas 上

html - 如何使 Bootstrap 导航栏居中?

html - 三列内联 block 内容

javascript - 如何使用 Jquery Mobile 从外部文件加载 header

javascript - 将数字添加到数组元素

javascript - 如果选择了特定的选择选项,则运行 javascript 代码

jquery - 你如何改变 navbar-collapse 高度 bootstrap 4?