如何使新选择的html选项成为页面加载的第一选择

How to make newly selected html option the first choice on page load?

本文关键字:选择 加载 何使新 html 选项      更新时间:2023-09-26

作为javascript的新手,这似乎是一个完全可以解决/简单的问题,但我正在努力寻找解决方案。

如何让用户从下拉列表中选择一个选项,然后"保存"他们的选项(他们所在的页面已被重定向),然后返回到该下拉列表,并将他们选择的选项作为首选项?

截至目前,该列表按字母顺序排序,首先选择"默认"选项,其余选项按字母顺序排列。然后,如果用户选择了另一个选项,则会对列表进行排序,使其成为首选项,其余按字母顺序排列。刷新页面时如何保持该顺序?

js

// Below function: This sorts the html dropdown list so that the top option is the selected option. 
    document.addEventListener("DOMContentLoaded", function(event) {
        $(document).ready(function(){
            $(document).on('change', '#dropdown', function(){
                $(this).html($('option', this).sort(function(a,b){
                    if(a.text == b.text) {
                        return 0;
                    }
                    if(a.text > b.text) {
                        return 1;
                    } else {
                        return -1;
                    }
                }));
                var nSel = $('option:selected', this).detach();
                $(this).prepend(nSel);
                // $('select').prepend(nSel);
                $("select").val(nSel);
                myDropdown.value = myTextBox.value;
            });
        });
    })

html/titch

 <div class = "dropdowns">
    <select id = "dropdown">
          <option> name </option>
          {% for key, value in Infos|sort %}
                 <option value="{{ key }} | {{ value }}"> {{ key }} | {{ value }} </option>
          {% endfor %}        
    </select>
</div>

如果只有客户端JavaScript,则必须使用cookie。

请参见此处:http://www.w3schools.com/js/js_cookies.asp

总之:您必须设置cookie字符串。

document.cookie = "selectedOption=" + option;

然后手动拆分字符串并解析键/值。