Javascript 当复选框动态生成时,如何在浏览器缓存(本地存储)中存储复选框?

Javascript 当复选框动态生成时,如何在浏览器缓存(本地存储)中存储复选框?,javascript,jquery,html,Javascript,Jquery,Html,我的网页中有一个动态表。表中有3列。第一个是复选框列,第二个是课程代码,第三个是课程名称。我只想将复选框存储在本地缓存中,这样当用户刷新页面时,选中的复选框应该在那里 注意:-表格是从XML文件动态生成的,当您刷新页面时,复选框将再次生成,因为它们不是静态复选框 function loadPage(xml) { var x, i, j, table, checkboxPrefix; xmlDoc = xml.responseXML; table = "";

我的网页中有一个动态表。表中有3列。第一个是复选框列,第二个是课程代码,第三个是课程名称。我只想将复选框存储在本地缓存中,这样当用户刷新页面时,选中的复选框应该在那里

注意:-表格是从XML文件动态生成的,当您刷新页面时,复选框将再次生成,因为它们不是静态复选框

function loadPage(xml) {
       var x, i, j, table, checkboxPrefix;
     xmlDoc = xml.responseXML;
     table = "";


      x = xmlDoc.getElementsByTagName("course");
      for (i = 0; i < x.length; i++) { 
        count++;
        xml_array.push(x[i].getElementsByTagName("courseCode")[0].childNodes[0].nodeValue);
        table += "<tr onclick='loadCourse(this)' class = '" +
         formatClass(x[i].getElementsByTagName("audience")[0].childNodes[0].nodeValue) + " " +
         formatClass(x[i].getElementsByTagName("duration")[0].childNodes[0].nodeValue) + " " +
         formatClass(x[i].getElementsByTagName("product")[0].childNodes[0].nodeValue) + " " +
         formatClass(getLanguage(x[i].getElementsByTagName("courseCode")[0].childNodes[0].nodeValue.toString().substring(10))) + " " +
         formatClass(getMedium(x[i].getElementsByTagName("courseCode")[0].childNodes[0].nodeValue.toString().charAt(2))) + " " +
        "'><***input type='checkbox' id='box"+ 
        i.toString()+
        "' class = 'selection'/>***</td><td class='row-ID2'><a class = 'course' href='#rowlinkModal' data-toggle='modal' data-target='#myModal' id='" +
         x[i].getElementsByTagName("courseCode")[0].childNodes[0].nodeValue.toString()
        + "' title='" +
        x[i].getElementsByTagName("courseTitle")[0].childNodes[0].nodeValue.toString() +
        "'>" + 
        x[i].getElementsByTagName("courseCode")[0].childNodes[0].nodeValue +

        "</a></td><td>"+
        x[i].getElementsByTagName("courseTitle")[0].childNodes[0].nodeValue +
        "</td></tr>";

      }

      document.getElementById("demo-body").innerHTML = table;

      document.getElementById("selectAllBoxes").checked = false;


    }
函数加载页(xml){
变量x,i,j,表,复选框前缀;
xmlDoc=xml.responseXML;
表=”;
x=xmlDoc.getElementsByTagName(“课程”);
对于(i=0;i
您有两个选择。会话存储和本地存储取决于您的需要。它们都使用键值对

本地存储没有过期日期,由JavaScript或清除浏览器缓存清除

关闭浏览器窗口时,将清除会话存储

因此,对于您的复选框,您可以执行以下操作:(来自)

请记住,值始终存储为字符串,要将其作为布尔值获取,必须对其进行解析

var value = "true";
JSON.parse(value) === true; //true
本地存储的工作原理与此类似:

localStorage.setItem('checkbox1', 'true');

本地缓存
?你是说本地存储吗?@ZakariaAcharki我更新了我的问题,添加了更多细节。请看一看。@APAD1我已经更新了我的问题,添加了更多细节。请看一看。这是作为答案发布的,但它并不试图回答这个问题。它可能是一个编辑,一个评论,另一个问题,或完全删除。
localStorage.setItem('checkbox1', 'true');