Jquery 为什么我无法获取自动完成输入字段的data()值?

Jquery 为什么我无法获取自动完成输入字段的data()值?,jquery,autocomplete,attributes,Jquery,Autocomplete,Attributes,我在以下输入上使用jQuery自动完成 但是当我试图检索数据值searchurl,我得到了未定义的 隐马尔可夫模型。。。如果我尝试使用attr也会得到同样的结果 $('input').autocomplete({ source: function (request) { var url = $(this).data('searchurl'); (...) 请看我的小提琴: 为什么自动完成阻止我这样做?使用$(this.element).data('se

我在以下输入上使用jQuery自动完成

但是当我试图检索数据值
searchurl
,我得到了
未定义的

隐马尔可夫模型。。。如果我尝试使用
attr
也会得到同样的结果

$('input').autocomplete({
    source: function (request) {
        var url = $(this).data('searchurl');
        (...)
请看我的小提琴:


为什么自动完成阻止我这样做?

使用
$(this.element).data('searchurl')
并且它可以工作,如果选择器中有多个输入,它将指向集合中的每个单独输入。

可能会详细说明它为什么工作?;)来自Dima:“在小部件内部”,这“指的是小部件对象本身,它包含一个属性“元素”,该属性指向小部件应用的html元素。”。Src: