Javascript 页面加载时强制选择默认选项

Javascript 页面加载时强制选择默认选项,javascript,select,Javascript,Select,我有一个选择框,它使用JS根据选择隐藏/显示div。我面临的挑战是,当重新加载页面时,它默认为最后一个选择(没有关联的div),而不是默认值 CSS: #div1,#div2,#div3 { display: none } function showHide(elem) { if(elem.selectedIndex != 0) { //hide the divs for(var i=0; i < divsO.length; i++) { divsO[

我有一个选择框,它使用JS根据选择隐藏/显示div。我面临的挑战是,当重新加载页面时,它默认为最后一个选择(没有关联的div),而不是默认值

CSS

#div1,#div2,#div3 {
  display: none
}
function showHide(elem) {
  if(elem.selectedIndex != 0) {
    //hide the divs
    for(var i=0; i < divsO.length; i++) {
      divsO[i].style.display = 'none';
    }
    //unhide the selected div
    document.getElementById('div'+elem.value).style.display = 'block';
  }
}

window.onload=function() {
  //get the divs to show/hide
  divsO = document.getElementById("frmMyform").getElementsByTagName('div');
}
<form action="#" method="post" id="frmMyform">

<select name="selMyList" onchange="showHide(this)">
    <option value="">Select an option</option>
    <option value="1">Show div 1</option>
    <option value="2">Show div 2</option>
    <option value="3">Show div 3</option>
</select>

<div id="div1">This is Div 1</div>
<div id="div2">This is Div 2</div>
<div id="div3">This is Div 3</div>

</form>
JS

#div1,#div2,#div3 {
  display: none
}
function showHide(elem) {
  if(elem.selectedIndex != 0) {
    //hide the divs
    for(var i=0; i < divsO.length; i++) {
      divsO[i].style.display = 'none';
    }
    //unhide the selected div
    document.getElementById('div'+elem.value).style.display = 'block';
  }
}

window.onload=function() {
  //get the divs to show/hide
  divsO = document.getElementById("frmMyform").getElementsByTagName('div');
}
<form action="#" method="post" id="frmMyform">

<select name="selMyList" onchange="showHide(this)">
    <option value="">Select an option</option>
    <option value="1">Show div 1</option>
    <option value="2">Show div 2</option>
    <option value="3">Show div 3</option>
</select>

<div id="div1">This is Div 1</div>
<div id="div2">This is Div 2</div>
<div id="div3">This is Div 3</div>

</form>
函数显示隐藏(elem){
if(elem.selectedIndex!=0){
//藏起来
对于(var i=0;i
HTML

#div1,#div2,#div3 {
  display: none
}
function showHide(elem) {
  if(elem.selectedIndex != 0) {
    //hide the divs
    for(var i=0; i < divsO.length; i++) {
      divsO[i].style.display = 'none';
    }
    //unhide the selected div
    document.getElementById('div'+elem.value).style.display = 'block';
  }
}

window.onload=function() {
  //get the divs to show/hide
  divsO = document.getElementById("frmMyform").getElementsByTagName('div');
}
<form action="#" method="post" id="frmMyform">

<select name="selMyList" onchange="showHide(this)">
    <option value="">Select an option</option>
    <option value="1">Show div 1</option>
    <option value="2">Show div 2</option>
    <option value="3">Show div 3</option>
</select>

<div id="div1">This is Div 1</div>
<div id="div2">This is Div 2</div>
<div id="div3">This is Div 3</div>

</form>

选择一个选项
节目组1
节目组2
节目组3
我是第一组
我是二组
我是第三组
我尝试将
#div0
设置为隐藏,然后将其添加到div列表中,但似乎不起作用。也尝试过使用jquery,但这是一个WordPress站点,该插件干扰了该功能。这是非常接近完美的工作,但只需要解决这个奇怪


有什么想法吗?

尝试对选项
标记使用
选定的
属性:

<select name="selMyList" onchange="showHide(this)">
    <option value="" selected="selected">Select an option</option>
    <option value="1">Show div 1</option>
    <option value="2">Show div 2</option>
    <option value="3">Show div 3</option>
</select>

选择一个选项
节目组1
节目组2
节目组3

这类似于。autocomplete=“off”完成了这个技巧。我有一种感觉,这是一个更具体的浏览器。我不必朝那个方向看,所以谢谢你的提示。它工作得很好!我确实尝试了selected=“selected”和selected,但两者都不起作用。页面将刷新并落在最后一个选项上,但不显示div。谢谢您的帮助,@Greg Burghart为我指出了正确的方向。