如何使用jquery保留动态生成的下拉列表的值
我正在使用codeigniter框架构建一个webapp。我的表单中有一系列4个下拉字段,每个字段都依赖于最后一个字段,因此在用户选择选项后,我使用JQuery填充它们 在用户提交并且由于任何原因提交失败之前,这种方法都可以正常工作。发生这种情况时,用户必须再次填写表单,因为下拉值仅由用户输入填写 我可以在会话中存储用户选择。但是我应该如何用正确的选项重新构建下拉列表呢如何使用jquery保留动态生成的下拉列表的值,jquery,html,codeigniter,Jquery,Html,Codeigniter,我正在使用codeigniter框架构建一个webapp。我的表单中有一系列4个下拉字段,每个字段都依赖于最后一个字段,因此在用户选择选项后,我使用JQuery填充它们 在用户提交并且由于任何原因提交失败之前,这种方法都可以正常工作。发生这种情况时,用户必须再次填写表单,因为下拉值仅由用户输入填写 我可以在会话中存储用户选择。但是我应该如何用正确的选项重新构建下拉列表呢 感谢最好的方法将此下拉列表项存储在hiddenfield或cookies回发前和回发后,再次从hiddenfield或cook
感谢最好的方法将此下拉列表项存储在
hiddenfield
或cookies
回发前和回发后,再次从hiddenfield
或cookies
获取数据并还原它
当您从hiddenfield或cookie还原时,只要检查它包含数据,如果不填充它,则在页面加载时填充它
检查此解决方案:
您还可以使用:
sessionStorage对象对于挂起临时数据非常有用,如果浏览器意外刷新,这些临时数据应该保存和还原。OP不关心数据存储在哪里,而是关心如何重新填充表单字段。是的,但如何?数据以字符串形式存储。应该使用哪种数据格式?如何将该数据格式解析为对象结构,以及如何基于该对象填充下拉字段?这就是OP在这里要求的。好吧,假设我们将数据存储为JSON字符串。现在,我们如何基于该JSON字符串重新填充表单字段。jQuery是否为此提供了内置方法,或者我们是否必须手动迭代解析的JSON结构的属性?多亏了Šime,您的假设是正确的。我的一个想法是有两种不同的方法填充下拉列表,第一种是在用户与表单交互时,第二种是在提交失败时填充下拉列表。
// Save data to a the current session's store
sessionStorage.setItem("username", "John");
// Access some stored data
alert( "username = " + sessionStorage.getItem("username"));