javascript - 如何将单选按钮和复选框保存到本地存储
问题描述
我想将输入 type="radio" 和 "checkbox" 保存到 localStorage,并从 localStorage 中获取相同的值。对于文本和选择元素等其他输入字段,它正在工作,但对于单选和复选框,它没有保存。你能帮我写代码吗?
保存到本地存储
$('input[type="radio"]').each(function() {
let id = $(this).attr('id');
let value = $(this).val();
localStorage.setItem(id, value);
});
从本地存储加载
$('input[type="radio"]').each(function() {
let id = $(this).attr('id');
let value = localStorage.getItem(id);
$(this).val(value);
});
<input name="row8unit3grade" type="radio" value="5">A
<input name="row8unit3grade" type="radio" value="4">B
<input name="row8unit3grade" type="radio" value="3">C
<input name="row8unit2grade" type="radio" value="5">A
<input name="row8unit2grade" type="radio" value="4">B
<input name="row8unit2grade" type="radio" value="3">C
像这样,我们有 15 组具有不同名称的单选按钮。单击保存后,我们需要一次存储所有单选按钮顶部本地存储。并在点击恢复后获取所有值
解决方案
row8unit3grade
您可以按名称和循环浏览单选按钮row8unit2grade
。并检查是否有人被检查,然后保存到本地存储。
<input type="radio" name="row8unit3grade" class="grade" value="5">A
<input type="radio" name="row8unit3grade" class="grade" value="4">B
<input type="radio" name="row8unit3grade" class="grade" value="3">C
<input type="radio" name="row8unit2grade" class="grade2" value="5">A
<input type="radio" name="row8unit2grade" class="grade2" value="4">B
<input type="radio" name="row8unit2grade" class="grade2" value="3">C
<button id="save">Save</button>
<button id="restore">Restore</button>
$(document).on('click','#save',function(){
$('input[name="row8unit3grade"]:checked').each(function() {
let id = $(this).attr('name');
let value = $(this).val();
localStorage.setItem(id, value);
return false;
});
$('input[name="row8unit2grade"]:checked').each(function() {
let id = $(this).attr('name');
let value = $(this).val();
localStorage.setItem(id, value);
});
});
$(document).on('click','#restore',function(){
$('input[name="row8unit3grade"]:checked').each(function() {
let id = $(this).attr('name');
var value = localStorage.getItem(id);
alert(value);
});
$('input[name="row8unit2grade"]:checked').each(function() {
let id = $(this).attr('name');
var value = localStorage.getItem(id);
alert(value);
});
});
这是jsfiddle
推荐阅读
- php - 用另一个值动态替换多维数组中的值
- java - JSON文件解析在ANDROID中遇到错误
- json - 使用 to 将大型 XML 文件转换为 JSON 以存储在 MongoDB 中
- regex - Lua:获取子字符串
- cordova - Ionic Cordova Health Plugin - 不适用于 Ionic DevApp
- c - R 如何在动态库中提取函数定义
- python - 模拟置信区间不等于 conf_int 结果
- machine-learning - 层的额外外部输入
- php - [ODBC Driver 17 for SQL Server]登录超时过期 - Laravel 5.7
- spring-mvc - Jersey Spring MVC 对应产品