Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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
如何使用jquery保留动态生成的下拉列表的值_Jquery_Html_Codeigniter - Fatal编程技术网

如何使用jquery保留动态生成的下拉列表的值

如何使用jquery保留动态生成的下拉列表的值,jquery,html,codeigniter,Jquery,Html,Codeigniter,我正在使用codeigniter框架构建一个webapp。我的表单中有一系列4个下拉字段,每个字段都依赖于最后一个字段,因此在用户选择选项后,我使用JQuery填充它们 在用户提交并且由于任何原因提交失败之前,这种方法都可以正常工作。发生这种情况时,用户必须再次填写表单,因为下拉值仅由用户输入填写 我可以在会话中存储用户选择。但是我应该如何用正确的选项重新构建下拉列表呢 感谢最好的方法将此下拉列表项存储在hiddenfield或cookies回发前和回发后,再次从hiddenfield或cook

我正在使用codeigniter框架构建一个webapp。我的表单中有一系列4个下拉字段,每个字段都依赖于最后一个字段,因此在用户选择选项后,我使用JQuery填充它们

在用户提交并且由于任何原因提交失败之前,这种方法都可以正常工作。发生这种情况时,用户必须再次填写表单,因为下拉值仅由用户输入填写

我可以在会话中存储用户选择。但是我应该如何用正确的选项重新构建下拉列表呢


感谢最好的方法将此下拉列表项存储在
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"));