Javascript jQuery如何在页面重新加载时保留动态创建列表的选定选项

Javascript jQuery如何在页面重新加载时保留动态创建列表的选定选项,javascript,jquery,html,Javascript,Jquery,Html,获得了一个使用javascript填充的选择列表,每次页面重新加载时,该列表都会被重置。并且用户选择的选项将丢失,但是对于所有其他输入选项,如单选按钮、复选框或文本字段,不会丢失任何数据 //example of dynamcially generated options for a dropdown list <p id="question">How old are you (in years)?</p> <select id="q1" name="age" st

获得了一个使用javascript填充的选择列表,每次页面重新加载时,该列表都会被重置。并且用户选择的选项将丢失,但是对于所有其他输入选项,如单选按钮、复选框或文本字段,不会丢失任何数据

//example of dynamcially generated options for a dropdown list
<p id="question">How old are you (in years)?</p>
<select id="q1" name="age" style="width:157px;"></select>
<script language="Javascript"> initializeAgeList("Select Your Age",100); </script> 

//example of static options for a radio button set
<p id="question">Are you male or female?</p>
<input type = 'radio' name ='q3' value= 'male' required>Male<BR>
<input type = 'radio' name ='q3' value= 'female'>Female 
//下拉列表的动态生成选项示例

你多大了(以年计)

initializeAgeList(“选择您的年龄”,100岁); //单选按钮集的静态选项示例

您是男性还是女性

男性
女性
尝试使用全局变量确定列表是否已设置,但结果证明无效

 var isAgeSet = false; //global var

 function initializeAgeList(default_selection,limit ){
     if(!isAgeSet){ //checks to see if list has already been set, on page refresh is set to zero
         var i = 0;
         while (i <= limit){ //adds options until limit is reached
              if(i==0){
                  $("#q1").append(new Option(default_selection,i));
              }else{
                  $("#q1").append(new Option(i,i));
              }
              i++;
          }
          isAgeSet = true;
      }
 };
var-isAgeSet=false//全局变量
函数初始化列表(默认选择,限制){
如果(!isAgeSet){//检查列表是否已设置,则页上刷新设置为零
var i=0;

而(i听起来您希望在页面回发之间持久化数据。 您应该保存所选数据,并在页面加载时读取它(如果有保存的数据)。 数据可以保存到服务器(数据库/文件)或客户端(本地存储)

希望这是你需要的


Yaniv

请您重复一遍,当您刷新页面时,您的浏览器会记住在收音机和其他输入中所做的选择吗?在@adeneo所说的内容之上,向我们显示更多html,例如(单选按钮等)。如果刷新页面,这些其他选项也将丢失,除非您使用服务器端代码设置它们,并且您对此有问题?如果是,请向我们显示,html页面上的所有其他元素都是静态创建的选项,单选按钮组有三个选项是否。因此,在页面上,请最后刷新选项已在中正确选择。但是,选择列表的动态创建选项不会被重新选择,我想知道在刷新页面的情况下如何执行此操作。这不是正常行为,HTML是无状态的,并且不记得用户在多个页面加载时所做的选择。关于存储状态,请考虑几个问题阅读这篇文章需要几分钟,您可能会找到为表单实现良好状态存储的正确方法。关闭时,我正在进行中,用户已按下刷新按钮,因此我只希望值重新显示为以前选择的值。一旦我进入提交过程,我就处于十字路口,此时我被告知没有转弯ng返回。这一切都是因为我被要求将文本框更改为dropdownlist,并且由于我选择动态创建列表框而不是使用硬编码选项,所以我遇到了这个问题,在测试时它让我很恼火,所以我想一定有办法解决这个问题以节省我的时间:)您可以使用“onchange”事件并将其保存到localstorage。您可以在页面加载时读取它并选择此选项。您还应该在页面提交时删除此值。谢谢我一直在阅读此localstorage,这正是我需要实现的。:)