如果声明不起作用 - 任何想法?

时间:2013-11-20 21:33:19

标签: javascript function if-statement event-handling

我在使用if语句时遇到了一些问题。在html中,我有一个带有三个选项的下拉菜单,根据用户选择的选项,在按下提交按钮后将生成一组不同的文本。

这就是我在剧本头中所拥有的:

function hair() {
    if (document.getElementById("hair").value == "2") {
        document.getElementById("background").innerHTML = "Well done, it worked!";
    }
}

这是我希望JavaScript对应的HTML:

<div id ="hair">
  What colour hair would you like your doll to have?
  <select name = "hair" id ="hair">
    <option id="brown" value="0">Brown</option>
    <option id="blonde" value="1">Blonde</option>
    <option id="red" value="2">Red</option>
  </select>
</div>

我基本上试图让页面说“干得好,它有效!”当用户选择“红色”并按下按钮时。谁能告诉我我可能做错了什么?我几乎是一个初学者,所以简单的解释会非常感激!谢谢!

1 个答案:

答案 0 :(得分:3)

您在代码中遇到一些问题:

  • 您没有在更改时调用该功能选择
  • 你有重复的div发,id必须是唯一的

试试这个:

function hair() {
    if (document.getElementById("select-hair").value == "2") {
        document.getElementById("background").innerHTML = "Well done, it worked!";
    }
}

使用以下HTML:

<div id ="hair">
  What colour hair would you like your doll to have?
  <select name = "hair" id ="select-hair" onchange="hair()">
    <option id="brown" value="0">Brown</option>
    <option id="blonde" value="1">Blonde</option>
    <option id="red" value="2">Red</option>
  </select>
</div>