2016-05-17 8 views
-1

Da dies neu für Javascript ist, scheint dies ein Problem zu sein, das vollständig gelöst werden kann, aber ich habe Probleme, eine Lösung zu finden.Wie mache ich die neu gewählte HTML-Option zur ersten Wahl beim Laden der Seite?

Wie kann ich es so machen, dass, nachdem ein Benutzer eine Option aus einer Dropdown-Liste ausgewählt hat und dann ihre Option "gespeichert" hat (die Seite, auf der sie waren umgeleitet wurde) und sie dann zurück zu dieser Dropdown-Liste gehen Die Option, die sie ausgewählt haben, ist die beste Option?

Ab sofort wird die Liste sortiert, wobei zuerst die Option 'Standard' ausgewählt wird und der Rest in alphabetischer Reihenfolge. Wenn ein Benutzer dann eine andere Option auswählt, wird die Liste sortiert, so dass die oberste Option und der Rest in alphabetischer Reihenfolge ist. Wie behalte ich diese Reihenfolge beim Aktualisieren der Seite?

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/Zweig

 <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> 
+0

warum möchten Sie das tun? –

Antwort

0

Sie werden Cookies JavaScript, wenn seine einzige Client-Seite verwenden.

Siehe hier: http://www.w3schools.com/js/js_cookies.asp

Fassen wir zusammen: Sie werden die Cookie-String zu setzen haben.

document.cookie = "selectedOption=" + option; 

Und dann manuell teilen Sie die Zeichenfolge und analysieren Sie die Schlüssel/Werte.