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!!!!!!
根据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中.
我会使用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的解决方案完全有效.
| 归档时间: |
|
| 查看次数: |
11577 次 |
| 最近记录: |