Onclick in选择不在IE中工作

chu*_*ese 6 javascript select onclick

对javascript有点新鲜.这个问题可能听起来有点过于愚蠢,但我无法弄清楚为什么以下在IE中不起作用并且在firefox中工作.

<select multiple="multiple">
 <option value="tx" onClick="alert('tx');">Texas</option>
 <option value="ak" onClick="alert('ak');">Alaska</option>
 <option value="ca" onClick="alert('ca');">California</option>
 <option value="ws" onClick="alert('ws');">Washington</option>
 <option value="tn" onClick="alert('tn');">Tennessee</option>
</select>
Run Code Online (Sandbox Code Playgroud)

IE中没有出现警报(我正在使用IE8).但它适用于Firefox!!!!!!

Mar*_*ark 6

根据w3schools,选项标签确实支持onclick属性.我尝试使用IE6底部的桶,这似乎并非如此.

最简单的方法是:

<select multiple="multiple" onchange="alert(this.value);">
 <option value="tx">Texas</option>
 <option value="ak">Alaska</option>
 <option value="ca">California</option>
 <option value="ws">Washington</option>
 <option value="tn">Tennessee</option>
</select>
Run Code Online (Sandbox Code Playgroud)

这不完全是你所追求的,但应该非常接近.

EDITS

这需要更多的工作:

<select multiple="multiple" onchange="
    switch (this.value){
      case 'tx': funcOne(); break;
      case 'ak': funcTwo(); break;
      etc...
   }
 ">
 <option value="tx">Texas</option>
 <option value="ak">Alaska</option>
 <option value="ca">California</option>
 <option value="ws">Washington</option>
 <option value="tn">Tennessee</option>
</select>
Run Code Online (Sandbox Code Playgroud)

此时,将onchange包装到js文件中的函数中是合适的,而不是将其嵌入到html中.


Rob*_*sto 5

我会使用onchange事件:

<select multiple="multiple" onchange="alert(this.options[this.selectedIndex].value)">
 <option value="tx">Texas</option>
 <option value="ak">Alaska</option>
 <option value="ca">California</option>
 <option value="ws">Washington</option>
 <option value="tn">Tennessee</option>
</select>
Run Code Online (Sandbox Code Playgroud)

虽然Daniel Mendel的解决方案完全有效.