Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果复选框的状态已更改,是否可以将其永久保存在第页?_Javascript_Html - Fatal编程技术网

Javascript 如果复选框的状态已更改,是否可以将其永久保存在第页?

Javascript 如果复选框的状态已更改,是否可以将其永久保存在第页?,javascript,html,Javascript,Html,如果复选框被选中/取消选中,我想将其状态永久保存在第页。 我试着这样做: function saveState() { document.getElementById($(this).parent().attr('id')).innerHTML = '<input type="checkbox" checked onclick="saveState.call(this)">' } 函数saveState(){ document.getElementById(

如果复选框被选中/取消选中,我想将其状态永久保存在第页。 我试着这样做:

function saveState() {
        document.getElementById($(this).parent().attr('id')).innerHTML = '<input type="checkbox" checked onclick="saveState.call(this)">'
    }
函数saveState(){
document.getElementById($(this.parent().attr('id')).innerHTML=''
}



但在页面刷新后,此更改将丢失。

要在页面重新加载后存储复选框的状态,请执行以下操作:

  • 用饼干。有关一些示例,请参见
  • 使用服务器端会话机制。具体取决于您使用的技术
  • 使用HTML5本地存储。关于这方面有很多好文章,请参见示例
  • 对于1和3,使用JS存储复选框的选中状态,然后在重新加载后读取该状态(分别从cookie或本地存储),并使用JS适当地设置状态

    作为一个旁注,考虑使用“更改”事件而不是“点击”事件。

    完整示例(假设您的输入具有
    id=“i1”
    ):


    要在页面重新加载后存储复选框的状态,请执行以下操作:

  • 用饼干。有关一些示例,请参见
  • 使用服务器端会话机制。具体取决于您使用的技术
  • 使用HTML5本地存储。关于这方面有很多好文章,请参见示例
  • 对于1和3,使用JS存储复选框的选中状态,然后在重新加载后读取该状态(分别从cookie或本地存储),并使用JS适当地设置状态

    作为一个旁注,考虑使用“更改”事件而不是“点击”事件。

    完整示例(假设您的输入具有
    id=“i1”
    ):


    有两个选项可以让数据在页面加载时保持不变:

  • 在服务器端保存它
  • 在客户端保存它
  • 使用本地存储是最快的客户端选项:

    localStorage.setItem("state", saveState()); // save
    localStorage.getItem("state") // get
    

    有两个选项可以让数据在页面加载时保持不变:

  • 在服务器端保存它
  • 在客户端保存它
  • 使用本地存储是最快的客户端选项:

    localStorage.setItem("state", saveState()); // save
    localStorage.getItem("state") // get
    

    这是因为在回发时复选框为reset wat,您需要做的是使其成为服务器控件,在回发时保持状态这是因为在回发时复选框为reset wat,您需要做的是使其成为服务器控件,在回发时保持状态
    localStorage.setItem("state", saveState()); // save
    localStorage.getItem("state") // get