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

问题描述:

我使用下面的输入为什么我无法获取自动填充输入字段的data()值?

<input data-searchurl="Some url" />

jQuery的自动完成但是当我尝试检索数据值searchurl,我得到undefined
嗯......如果我尝试使用attr,我也会得到同样的结果。

$('input').autocomplete({ 
    source: function (request) { 
     var url = $(this).data('searchurl'); 
     (...) 

见我的小提琴这里:http://jsfiddle.net/34ewgg7j/3/

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

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

+0

也许精心制作它的原因? ;)来自Dima:“在一个小部件内部,”这个“指的是小部件对象本身,它包含一个属性”元素“,指向那个小部件已被应用的html元素。” Src:http://bit.ly/104W44E – Steven 2014-10-30 07:49:47