我正在使用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
也会回复同样的错误。
在阅读完自动填充文档后,我似乎无法找到答案。任何帮助将不胜感激。
答案 0 :(得分:1)
您正在多个元素上调用|.
小部件。
据我所知,您无法告诉窗口小部件为每个元素选择动态源。
另一种方法是循环遍历元素并使用jQuery .each()
函数调用该循环内的autocomplete
:
autocomplete