如何在每次刷新时将 <select> 的某个选项设置为默认值?

How would I make a certain option for <select> the default upon each refresh?

如果我有

<select name="visibility">
    <option value="private">private</option>
    <option value="public">private</option>
    <option value="hidden">private</option>
</select>

如何将隐藏选项设置为默认选项?

我试过了

    <option value="hidden" selected>hidden</option>

但是如果我选择另一个选项然后刷新,它会被替换为另一个值。无论刷新如何,我如何将其设置为默认值?

像这样使用 selected="selected"autocomplete="off" 属性:

<select name="visibility" autocomplete="off">
    <option value="private">private</option>
    <option value="public">private</option>
    <option value="hidden" selected="selected">private</option>
</select>

无论您重新加载页面的频率如何,这都能如您所愿。

您的块在 Chrome 和 IE 上应该可以正常工作。 但是 Firefox 正在保存您的下拉菜单,这是一个老错误。 在这里你如何解决它:添加 autocomplete="off" 到你的 select 标签 像这样:

<select name="visibility" autocomplete="off">
    <option value="private">1</option>
    <option value="public">2</option>
    <option value="hidden" selected>3</option>
</select>

您应该使用本地存储来存储所选值并重新加载您对该项目的检查并添加所选属性

http://jsfiddle.net/d948fL09/4/

if( typeof localStorage.visibility !== "undefined" ){
  $('select').find($('option[value="' + localStorage.visibility  + '"]').attr('selected', true))
}

$('select').on('change', function(){
  localStorage.visibility=$(this).val();
    console.log(localStorage.visibility)
})