我正在使用 jQuery-Autocomplete 插件,如下所示:https://github.com/devbridge/jQuery-Autocomplete https://github.com/devbridge/jQuery-Autocomplete
我正在尝试控制作为建议呈现的项目。默认情况下,自动完成建议如下所示:
<div class="autocomplete-suggestion" data-index="0">438</div>
我希望能够构建该项目,以便我可以执行以下操作:
<div class="autocomplete-suggestion" data-index="0">
<div class="autocomplete-suggestion-photo"></div>
<div class="autocomplete-suggestion-title"></div>
</div>
我正在使用正在调用的 beforeRender,但没有生效,这是片段:
beforeRender: function (container) {
console.log(container)
xx = '<div class="autocomplete-suggestion" data-index="1">TEST</div>';
return xx;
},
有什么想法我做错了吗?
下面更新了代码。想法是更改 beforeRender 中的容器以完全自定义正在渲染的内容。这没有效果。
beforeRender: function (container) {
console.log(container)
container = '<div class="autocomplete-suggestion" data-index="1">TEST</div>';
return container;
},
看着source https://github.com/devbridge/jQuery-Autocomplete/blob/41043437c0067e36c1a53f146f34299a660a2e5e/dist/jquery.autocomplete.js#L691,插件只是调用beforeRender
然后显示容器:
if ($.isFunction(beforeRender)) {
beforeRender.call(that.element, container, that.suggestions);
}
that.fixPosition();
container.show();
它不使用任何返回值。文档说:
渲染前: function (container, suggestions) {}
在显示建议之前调用。您可以在显示建议 DOM 之前对其进行操作。
所以我认为你应该直接操作容器,比如:
beforeRender: function (container, suggestions) {
container.find('.autocomplete-suggestion').each(function(i, suggestion){
// suggestion.append(); suggestion.preppend(); suggestion.whatever()
});
},
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)