问题:

我的HTML代码中有一些selectsoptions,并且设置了一个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");
}

07-27 14:50