如何在javascript中获取select值

How to get select value in javascript?

本文关键字:获取 select javascript      更新时间:2023-09-26

下面是我的代码。我希望div在选中时显示,但是,当我按下submit时,会显示单词undefined,而不是我希望的单词。

当我使用=而不是==时,例如if(age="toddlers"),对于所有选择的选项,都会出现句子"Bring to picnic"

因此,我怀疑这是因为我没有正确读取值。我试过

if (document.getElementsByTagName('option') == "toodlers")

它完全不起作用。我刚开始学习HTML、CSS和JS。我试着在谷歌上搜索了几个小时,但仍然无法修复。

<form name="outing">
<select id="outing">
<option value="toddlers">Toddlers</option>
<option value="children">Children</option>
<option value="teenagers">Teenagers</option>
<option value="adults">Adults</option>
<option value="eldery">Elderly</option>
</select>
<input type="button" name="button" value="Go!" onClick="familyOuting();">
<input type="reset" value="Reset" onClick="window.location.reload()"/>
</form>
<script type="text/javascript">
    function familyOuting(){
        var age = document.getElementById("outing").selectedIndex;
        if(age=="toddlers"){
            var place = "Bring to picnic";
        }
        if(age=="children"){
            var place = "Bring to playground";
        }
        if(age=="teenagers"){
            var place = "Bring to swimming pool";
        }
        if(age=="adults"){
            var place = "Bring to dinner";
        }
        if(age=="elderly"){
            var place = "Bring to picnic";
        }
        document.getElementById("xxx").innerHTML=(place);
    }
</script>
<div id="xxx">

selectedIndex只返回一个整数,因此它永远不会与您的字符串匹配

请改用value。。。

var age = document.getElementById("outing").value;

此外,在比较中,请使用===对字符串进行严格比较。。

if(age==="toddlers"){
    var place = "Bring to picnic";
}
<select id="mySelect">
  <option value="apple">Apple</option>
  <option value="orange">Orange</option>
  <option value="pineapple">Pineapple</option>
  <option value="banana">Banana</option>
</select>
var x = document.getElementById("mySelect");
x.options[x.selectedIndex].value