javascript - select option jquery issue -
in application, want let user select option drop down menu @ anytime. when page reloads, goes default value (the first element in drop down list).
my html looks this:
<select class="author"> <option value="aaa">aaa</option> <option value="bbb">bbb</option> <option value="ccc">ccc</option> </select> in javascript, use following letting user select option:
auid = $('#tabs' .author option:selected').prop('value'); i retrieving value of author selected before page reloads localstorage by:
auid = localstorage.getitem("latestauthor"); can tell me how fit example code snippet let me select option drop down menu, , same option stays selected when page reloads, user can select option drop down menu @ anytime well.
on page load, once select box exists, , once you've retrieved auid local storage, this:
if (auid !== null) { $("#tabs .author").val(auid); } the if there because if you've never set value in local storage, that's you'll getitem.
side note: when getting value, don't use prop('value'). use .val:
auid = $("#tabs .author").val(); complete example on jsfiddle (since stack snippets don't allow local storage ☹ ). assumes it's in script tag @ end of html, before closing </body> tag (which should put them unless have reason not to).
// scoping function avoid global vars (function() { var auid = localstorage.getitem("latestauthor"); if (auid !== null) { $("#tabs .author").val(auid); } $("#tabs .author").on("change", function() { auid = $(this).val(); localstorage.setitem("latestauthor", auid); }); })(); if reason can't put script tag @ end, can use jquery's "dom ready" callback:
jquery(function() { var auid = localstorage.getitem("latestauthor"); if (auid !== null) { $("#tabs .author").val(auid); } $("#tabs .author").on("change", function() { auid = $(this).val(); localstorage.setitem("latestauthor", auid); }); }); (you can cache result of $("#tabs .author") in variable if want avoid doing twice, doing twice on page load nothing.)
Comments
Post a Comment