javascript - 如何将单选按钮的值保存到本地存储?如何恢复?

标签 javascript html

<分区>

我有一个单选按钮来保存性。我尝试存储在本地存储中,但后来我没有回显以恢复值

我是这样实现的:

var inputsesso= document.getElementsByName("sesso");
localStorage.setItem("sesso", inputsesso.value);


 var sesso = localStorage.getItem("sesso");
 document.getElementsByName("sesso").value=sesso;

html

   <label class="radio-container m-r-45">Male
    <input type="radio" id="sesso" checked="checked" name="gender" 
        required value="M">
    <span class="checkmark"></span>

    </label>
    <label class="radio-container">Female
    <input type="radio"  id="sesso" name="gender" required value="F">
    <span class="checkmark"></span>
    </label>

哪里出错了?

最佳答案

你可以试试这个:

// get value from localstorage
var sesso = localStorage.getItem("sesso");

// if key sesso exists in localstorage
if (sesso) {
  let radioByValue = document.querySelector("input[value='" + sesso + "']");
  radioByValue.checked = true
}

// target all radios by name([ES6 feature] using spread operator to iterate it)
var inputsesso = [...document.getElementsByName("gender")];

// add listener on change value for each radio
inputsesso.forEach(el => {
  el.addEventListener("change", function() {
    localStorage.setItem("sesso", this.value);
  });
});
<label class="radio-container m-r-45">Male
    <input type="radio" checked="checked" name="gender" required value="M">
    <span class="checkmark"></span>

</label>
<label class="radio-container">Female
    <input type="radio" name="gender" required value="F">
    <span class="checkmark"></span>
</label>

关于javascript - 如何将单选按钮的值保存到本地存储?如何恢复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57614458/

相关文章:

javascript - 如何在 HTML 中使用相同的输入值来拥有一个输入字段、两个按钮和两个操作

css - 当再展开一项时 Bootstrap Collapse 冲突

javascript - 通过禁用提交防止多个表单提交错误

javascript - 启动一个新的数据库驱动的 python web 应用程序,你会使用 javascript 小部件框架吗?如果是哪个框架?

javascript - 使用javascript将值传递给另一个页面

javascript - 我不断收到 TypeError : undefined is not a function

javascript - 使用另一个变量值获取变量值

html - 如何禁用特定页面上的CSS?

javascript - React 路由器重定向导致 useEffect 触发两次

javascript - 正则表达式不允许电子邮件中的点出现在错误的位置