首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript下拉菜单值

Javascript下拉菜单值
EN

Stack Overflow用户
提问于 2017-10-15 19:46:32
回答 2查看 177关注 0票数 0

我正在尝试访问下拉菜单中所选选项的值。我一直有一个“未定义”的值。

下面是我创建的HTML列表:

代码语言:javascript
复制
function setDifficulty() {
  var difficultySelector = document.getElementById("difficulty");
  var difficulty = difficultySelector.selectedIndex;

  if (difficulty.options[difficulty.selectedIndex].value == "0") {
    window.alert("easy");
  } else if (difficulty.options[difficulty.selectedIndex].value == "1") {
    window.alert("medium")
  } else if (difficulty.options[difficulty.selectedIndex].value == "2") {
    window.alert("hard");
  } else
    window.alert(difficulty.value);
}
代码语言:javascript
复制
<select id="difficulty" onchange="setDifficulty();">
  <option value="0">Easy</option>
  <option value="1">Medium</option>
  <option value="2">Hard</option>
</select>

我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-15 19:52:03

下面的代码可以工作

代码语言:javascript
复制
function setDifficulty() {
    var difficultyElt = document.getElementById("difficulty");
    var value = difficultyElt.options[difficultyElt.selectedIndex].value;
    if (value == "0") {
      window.alert("easy");
    } else if (value == "1") {
      window.alert("medium")
    } else if (value == "2"){
      window.alert("hard");
    }   
}

此外,您还可以直接输出文本值:

代码语言:javascript
复制
var difficultyElt = document.getElementById("difficulty");
var text = difficultySelector.options[difficultySelector.selectedIndex].text;
window.alert(text);
票数 0
EN

Stack Overflow用户

发布于 2017-10-15 19:57:59

您可以很容易地从输入中获得一个值。你不需要这些复杂的价值计算。另外,当您想要使用特定的值时,最好使用开关大小写。它看起来更干净,需要更少的代码。

代码语言:javascript
复制
function setDifficulty() {
    var difficultySelector = document.getElementById("difficulty");
    var difficulty = difficultySelector.value;
    
    switch (difficulty) {
      case "0":
        window.alert("easy");
        break;
      case "1":
        window.alert("medium");
        break;
      case "2":
        window.alert("hard");
        break;
      default:
        window.alert(difficulty.value);
    }
 }
代码语言:javascript
复制
<select id="difficulty" onchange="setDifficulty();">
               <option value="0">Easy</option>
               <option value="1">Medium</option>
               <option value="2">Hard</option>
            </select>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46759295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档