我想响应用户在 select 元素中选择一个项目。然而这个 jQuery:
$('#platypusDropDown').select(function () {
alert('You selected something');
});
...什么都不做。它没有显示警报,尽管 jsFiddle 将其视为有效的 jQuery。
Click 事件有效,但速度太快 - 它会在进行选择之前点击选择元素时触发。
当然,我真的很想做这样的事情:
$('#platypusDropDown').select(function () {
var selection = $('platypusDropDown').val;
$.getJSON('platypus.json', selection, data() {
// . . .
});
});
HTML:
<select id="platypusDropDown">
<option value="duckbill">duckbill</option>
<option value="duckbillPlatypus">duckbillPlatypus</option>
<option value="Platypus">Platypus</option>
<option value="Platypi">Platypi</option>
</select>
最佳答案
您需要使用 change 事件
$('#platypusDropDown').change(function () {
var selection = this.value; //grab the value selected
$.getJSON('platypus.json', selection, data() {
. . .
});
});
加上 $('platypusDropDown').val
这里的 val 应该是 val()
并且你不需要在元素上再次创建一个 jquery 对象,处理程序中的 this
表示 DOM 元素(选择事件绑定(bind)到的元素),您可以使用 this.value
或 $(this).val( )
关于javascript - 选择 HTML 选择/下拉列表中的项目时会触发什么事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17414390/