使用javascript onchange下拉列表

Joh*_*Doe 22 javascript onchange

我有一个简单的下拉菜单,我想拥有它,以便如果用户选择拥有一个婴儿,该消息将更改为"有一个婴儿",但对于任何其他选择.消息保持不变(没有),但这不起作用.有人可以请帮助.请和我的jsfiddle一起玩.

http://jsfiddle.net/Z9YJR/ 这是html

<select id="leave">
  <option value="5">Get Married</option>
  <option onchange="changeMessage()" value="100">Have a Baby</option>
  <option value="90">Adopt a Child</option>
  <option value="15">Retire</option>
  <option value="15">Military Leave</option>
  <option value="15">Medical Leave</option>
</select>

<div id="message"></div>
Run Code Online (Sandbox Code Playgroud)

这是js

function changeMessage() {
    document.getElementById("message").innerHTML = "Having a Baby!!";
}
Run Code Online (Sandbox Code Playgroud)

Cla*_*edi 43

这样的事情应该可以解决问题

<select id="leave" onchange="leaveChange()">
  <option value="5">Get Married</option>
  <option value="100">Have a Baby</option>
  <option value="90">Adopt a Child</option>
  <option value="15">Retire</option>
  <option value="15">Military Leave</option>
  <option value="15">Medical Leave</option>
</select>

<div id="message"></div>
Run Code Online (Sandbox Code Playgroud)

使用Javascript

function leaveChange() {
    if (document.getElementById("leave").value != "100"){
        document.getElementById("message").innerHTML = "Common message";
    }     
    else{
        document.getElementById("message").innerHTML = "Having a Baby!!";
    }        
}
Run Code Online (Sandbox Code Playgroud)

jsFiddle演示

更短的版本和更一般的可能

HTML

<select id="leave" onchange="leaveChange(this)">
  <option value="5">Get Married</option>
  <option value="100">Have a Baby</option>
  <option value="90">Adopt a Child</option>
  <option value="15">Retire</option>
  <option value="15">Military Leave</option>
  <option value="15">Medical Leave</option>
</select>
Run Code Online (Sandbox Code Playgroud)

使用Javascript

function leaveChange(control) {
    var msg = control.value == "100" ? "Having a Baby!!" : "Common message";
    document.getElementById("message").innerHTML = msg;
}
Run Code Online (Sandbox Code Playgroud)