将动作绑定到<select>

时间:2016-05-26 16:11:12

标签: javascript html select

晚上好,我正在尝试创建一个“菜单”,并希望为菜单的每个元素绑定操作。 我刚开始html(10mn前)... 所以我读到我使用onchange =“myfunction()” 所以我试过: &lt;!DOCTYPE html&gt; &LT; HTML&GT;  &lt; script type =“text / javascript”&gt;   function Load(obj){      if(obj.value ==“X1”){         警报( 'X1');      }      if(obj.value ==“X2”){         警报( 'X2');      }   }  &LT; /脚本&GT;  &LT; HEAD&GT;       &lt; meta charset =“utf-8”/&gt;       &lt; title&gt; Developper Informations&lt; / title&gt;  &LT; /头&GT;  &LT;身体GT;       &lt; form method =“post”action =“traitement.php”&gt;         &lt; label&gt; Langages de programmation:&lt; / label&gt;         &lt; select onchange =“Load()”name =“Languages”id =“Languages”&gt;          &lt; optgroup label =“XX1”&gt;              &lt; option value =“X1”&gt; X1&lt; / option&gt;              &lt; option value =“X2”&gt; X2&lt; / option&gt;          &LT; / OPTGROUP&GT;         &LT; /选择&GT;       &LT; /形式&GT;  &LT; /体&GT; &LT; / HTML&GT; 但是行不通......我尝试了几种选择......

2 个答案:

答案 0 :(得分:4)

您似乎需要将select作为参数传递给Load()

尝试:onchange="Load(this)"

如果您未将参数传递给Load(),则obj将不确定。您的开发者控制台中可能存在错误(按F12查看),表示value不存在。

答案 1 :(得分:0)

https://jsfiddle.net/k4dj0n0x/1/

function Load(obj) {
    if(obj.value == "X1"){
        alert('X1');
     }
     else if (obj.value == "X2"){
        alert('X2');
     }
  }

  var languages = document.getElementById("Languages");
  languages.addEventListener("change", Load(languages));