如果选中/取消选中复选框,我想在页面上永久保存其状态。 我试试像这样的人:
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>
但是在页面刷新之后,这个更改将被遗漏。
答案 0 :(得分:3)
您有两种方法可以让数据在页面加载中保持不变:
使用本地存储是最快的客户端选项:
localStorage.setItem("state", saveState()); // save
localStorage.getItem("state") // get
答案 1 :(得分:2)
在页面重新加载后存储复选框的状态:
对于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);
});
});