本地存储未保存复选框未选中阶段
Local storage not saving the checkbox unchecked stage
我使用jquery和本地存储来保存复选框的状态。
我使用:
function save_form() {
window.localStorage.setItem('fb_show', $('#fb_show').val());
alert('Saved');
}
function load_form() {
var fb_checkbox_val = window.localStorage.getItem('fb_show');
alert(fb_checkbox_val);
if (fb_checkbox_val == 'on') {
$("#fb_show").prop("checked", true);
} else {
$("#fb_show").prop("checked", false);
}
}
问题是,当它未被选中时,它会将值保存为"on",以便该部分工作,但是当我取消复选框并再次保存时,它仍然保存为"on"…所以后面的代码会将其设置为已检查。
我该如何解决这个问题?
您应该将复选框的状态保存在localStorage
:
function save_form() {
window.localStorage.setItem('fb_show', $('#fb_show').is(':checked'));
alert('Saved');
}
function load_form() {
var fb_checkbox_val = window.localStorage.getItem('fb_show') === 'true' ? true : false;
alert(fb_checkbox_val);
$("#fb_show").prop("checked", fb_checkbox_val);
}
未选中的复选框实际上没有值,因此您必须检查是否选中并保存该值。$("#fb_show").is(":checked")
相关文章:
- 如何在本地存储(或其他数据库)上安全地保存敏感访问代码
- JavaScript-保存、存储和更新数组
- 在本地存储中保存并返回随机生成的字符串
- 如何保存和存储实时流中的音频
- 本地存储保存和检索文本输入值
- 表单选择不保存在本地存储中
- Javascript 会话存储变量未正确保存
- 没有从本地存储获取与保存的变量相同的类型
- 如何保存从单击this.nameClass动态设置的本地存储
- 如何将jQuery克隆的文本输入保存到cookie或html5存储中
- 如何在画布上绘制(使用鼠标/触摸)、保存绘制的对象、存储、加载和操作
- 无法使用HTML5 Web存储保存布尔值的解决方法
- 如何使用复选框启用选项并通过本地存储进行保存
- 将表数据保存在本地存储中
- 在保存到本地存储之前,如何修改我得到的 json 响应以使其看起来像这样
- 将图像从表单保存到本地存储并存储/加载它
- 存储日期选择器日期并保存在数据库中
- 在文本字段中显示保存的本地存储变量 - javascript
- 会话存储未保存或未加载
- 保存文本框数据并从本地存储返回 - angularJS -