2013-11-20 3 views
0

У меня возникли проблемы с получением инструкции if. В html у меня есть раскрывающееся меню с тремя параметрами, и в зависимости от параметров, выбранных пользователем, после нажатия кнопки отправки будет создан другой набор текста.Если заявление не работает - любые идеи?

Это то, что у меня в сценарий голове:

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

И это в HTML, в котором я хочу JavaScript, чтобы соответствовать:

<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

Когда вы называете функцию hair() – Carlos487

+1

Где зов волос()? – FBHY

+1

У вас есть два идентификатора с именем 'hair'. –

ответ

3

У вас есть какие-то проблемы внутри кода:

  • вы не вызовите функцию по изменению выбора
  • вы дублируется Див волосы, идентификатор должен быть уникальным

Попробуйте следующее:

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

Смежные вопросы