问题:
我的HTML代码中有一些selects
和options
,并且设置了一个on change event handler
可以弄清楚何时更改选择。
以下代码显示了进行更改的jQuery代码:
$(document).on('change', '.anyHtmlSelect', updateState);
我有一个现有的Javascript函数,应将其用作回调函数。
Javascript函数如下所示:
function updateState(element)
{
var currentId = element.attr("id");
}
题:
如何获得更改后的
select
作为element
?我尝试了以下方法:
$(document).on('change', '.anyHtmlSelect', updateState($(this));
但这不起作用。
最佳答案
自动传递给事件处理程序的第一个参数是对事件本身的引用,而不是引起事件的元素。要访问触发事件的DOM元素,请使用this
:
只需更改:
function updateState(element)
{
var currentId = element.attr("id");
}
至:
function updateState(event) {
var currentId = this.attr("id");
}