若复选框的状态被更改,它可以被永久保存在页面上
If state of checkbox was changed can it be permanently saved on page?
如果复选框被选中/取消选中,我想将其状态永久保存在页面上。我试着这样smth:
function saveState() {
document.getElementById($(this).parent().attr('id')).innerHTML = '<input type="checkbox" checked onclick="saveState.call(this)">'
}
和
<td id="test"> <input type="checkbox" onclick="saveState.call(this)"> </td>
但在页面刷新后,会错过这些更改。
您有两个选项可以让数据在页面加载期间保持不变:
- 保存到服务器端
- 保存到客户端
使用本地存储是最快的客户端选项:
localStorage.setItem("state", saveState()); // save
localStorage.getItem("state") // get
要在页面重新加载后存储复选框的状态:
- 使用cookie。有关一些示例,请参阅MDN页面
- 使用服务器端会话机制。具体情况取决于您使用的技术
- 使用HTML5本地存储。有很多关于这方面的好文章,请看下面的例子
对于1和3,使用JS存储复选框的选中状态,然后在重新加载后读取该状态(分别从cookie或本地存储),并使用JS适当设置状态。
附带说明一下,请考虑使用"更改"事件而不是"单击"事件。
完整示例(假设您的输入具有id="i1"
):
$(document).ready(function () {
$('#i1').prop('checked', 'true' === localStorage.getItem('checked'));
$('#i1').change(function (ev) {
console.log('save');
localStorage.setItem('checked', ev.target.checked);
});
});
相关文章:
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何将getJson的响应保存在全局变量中
- 按下按钮时保存cookie
- 如何使用 Angular JS 将数据保存在数据库中
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 用于检查数组中是否存在元素的javascript自定义方法
- HTML5在画布中加载较小的图像并保存实际大小的图像
- 是否可以在浏览器中使用纯JavaScript保存音频流
- 如何将多个画布保存为一个图像
- 使用javascript/jquery从现有数组中创建一个新数组,该数组保存项目存在的次数
- jQuery localStorage 如果存在,请保存它
- 如何在移动到新的HTML页面后使用保存在Javascript文件中的保存变量
- 根据页面元素的存在更改文件路径以保存页面内容
- 如何比较保存在变量中的querystring参数,并将变量保存在cookie中,并在每页上进行比较
- 在Json解析和在数据库中保存值方面存在问题
- 将对象替换为保存前已经存在的对象
- 如何在Mongoose中保存之前检查数据库中是否存在嵌入文档