2013-11-20 13 views
0

我一直有一些问题让我的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> 

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

+3

当你打电话发()函数 – Carlos487

+1

哪里是头发的()调用? – FBHY

+1

您有两个名称为“hair”的ID。 –

回答

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> 
+0

http://jsfiddle.net/isherwood/RAy5U – isherwood