使用“onChange”事件时用户刚刚点击的选项有什么方法? 我想要实现的是这样的:
<select name="my_select" onchange="checkOption(this)">
<option value="first">1</option>
<option value="second">2</option>
<option value="third">3</option>
</select>
功能:
function checkOption(e) {
if ( jQuery(e).val() == 'second' )
alert('You just clicked the second option!')
}
但是我不知道如何访问“this”代表当前选项。
我知道如何使用jquery change()
事件执行此操作,但在我的特定情况下,此选项并不好。
任何帮助将不胜感激!
编辑:这不是重复,因为有关于如何使用jquery的change()
事件的问题,正如我所说的不是我想要的。
答案 0 :(得分:4)
如果您试图避免一起使用jquery,可以尝试以下方法......
function checkOption(e) {
if(e.options[e.selectedIndex].value === 'second')
alert('You just clicked the second option!')
}
&#13;
<select name="my_select" onchange="checkOption(this)">
<option value="first">1</option>
<option value="second">2</option>
<option value="third">3</option>
</select>
&#13;
答案 1 :(得分:0)
您可以使用jquery的内置onchange函数,如下所示:
<select name="my_select" class="my_select">
<option value="first">1</option>
<option value="second">2</option>
<option value="third">3</option>
</select>
解决方案:
<script>
$(".my_select").change(function(){
//every time you change value this will automatically calls
if( this.value == 'second'){
alert('You just clicked the second option!');
}
});
</script>
答案 2 :(得分:0)
如果没有JQuery,您可以使用如下所示的普通javascript来访问所选值
var e = document.getElementsByName("my_select")[0];
var selectedText = e.options[e.selectedIndex].value;
if ( selectedText == 'second' )
alert('You just clicked the second option!')
答案 3 :(得分:-1)
在html代码中输入一个ID并将此关键字删除为:
<select id="id" name="my_select" onchange="checkOption()">
<option value="first">1</option>
<option value="second">2</option>
<option value="third">3</option>
</select>
然后将java脚本函数编辑为:
function checkOption() {
var text = document.getElementById('id').value
if ( text == 'second' )
alert('You just clicked the second option!')
}
希望它有效!