在jQuery自动完成功能中访问$(this)

时间:2018-05-02 12:24:24

标签: jquery jquery-ui

我正在使用jQuery' autocomplete widget并尝试在同一页面上的多个元素上使用它并动态提取其各自的属性,而不必为每个搜索框单独进行一次独立调用。每个搜索框都有一个autocomplete-search类,并包含一些特定于其用例的data属性。

例如:

<input type="text" name="brand" id="brand" class="autocomplete-search" data-search-url="/api/v1/search">
<input type="text" name="product" id="product" class="autocomplete-search" data-search-url="/api/v1/search">

$('.autocomplete-search').autocomplete({
  source: $(this).data("search-url"),
});

但是这会打破TypeError: this.source is not a function. (In 'this.source( { term: value }, this._response() )', 'this.source' is null)。我意识到这个问题类似于Access $(this) DOM element from within jQuery Autocomplete Widget Ajax call但是接受的答案在这里没有用。 this.element也会回复同样的错误。

在阅读完自动填充文档后,我似乎无法找到答案。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您正在多个元素上调用|.小部件。

据我所知,您无法告诉窗口小部件为每个元素选择动态源。

另一种方法是循环遍历元素并使用jQuery .each()函数调用该循环内的autocomplete

autocomplete