单击localstorage时记住复选框
Remember checkbox with localstorage onclick
我正在尝试为Chrome扩展创建一个选项页面。第一部分将中的值设置为本地存储。选中true,取消选中false。如果用户在其他时间回来,第二部分应该更新复选框,并且设置将应用于该复选框。
我的问题是,当用户刷新或关闭窗口并返回时,复选框永远不会被选中,但本地存储将更改为true或false。如何让用户选中该框,并在用户稍后返回或刷新页面时保留该框。
setStatus = document.getElementById('stat');
setStatus.onclick = function() {
if(document.getElementById('stat').checked) {
localStorage.setItem('stat', "true");
} else {
localStorage.setItem('stat', "false");
}
}
getStstus = localStorage.getItem('stat');
if (getStstus == "true") {
console.log("its checked");
document.getElementById("stat").checked;
} else {
console.log("its not checked");
}
更改:
document.getElementById("stat").checked;
收件人:
document.getElementById("stat").setAttribute('checked','checked');
会解决这个问题。因为添加.checked
时,实际上只是检查复选框是否为复选框。
你也可以做:
document.getElementById("stat").checked=true;
它做同样的事情。
请注意,您需要更改秒document.getElementById("stat").checked
。
getStstus = localStorage.getItem('stat');
if (getStstus == "true") {
console.log("its checked");
document.getElementById("stat").setAttribute('checked','checked');
} else {
console.log("its not checked");
}
Js报价示例
您需要在JavaScript中将checked属性设置为true。
用途:
document.getElementById("stat").checked = true;
代替:
document.getElementById("stat").checked;
试试吧
我假设你是说你的存储正在工作,但你需要使用Javascript来勾选这个框。在这种情况下,使用:
document.getElementById("stat").checked=true;
而不是
document.getElementById("stat").checked;
参考:http://www.w3schools.com/jsref/prop_checkbox_checked.asp
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 正在验证8个真/假复选框或复选框中的2个
- 为复选框javascript指定两个值
- 如何在单击复选框后调用控制器方法
- 从复选框和Selects-KnockoutJS中获取值的总和
- 选中多个具有相同名称的复选框
- 使用Jquery选择或取消选择ListView中的所有复选框
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 使用$.ajax发布多个复选框
- AngularJS单选筛选不适用于Name、Description和Field4复选框值
- 使用jquery选中/取消选中单个复选框
- Angular JS Filter-通过3个复选框进行筛选
- 如果选中了多个复选框,如何添加事件
- Javascript复选框函数:;缺少:在属性id之后"
- JavaScript-切换“;全部检查”;复选框true/false
- 如何从javascript/jquery中的复选框中获取布尔值
- 在Ajax中捕获复选框值
- 显示隐藏复选框
- 如何使用javascript函数在gridview中按行启用/禁用复选框
- jquery中的复选框依赖项