我正在尝试实现像Stack Overflow这样的自动完成功能来完成标签。但是,我试图查看源及其minified
我正在尝试获取诸如让用户添加任何标记之类的功能,如果它在列表中存在则可以,或者将其添加到数据库中。
那里有哪些例子可以说明如何完成这样的事情?或者我可以以某种方式查看源的非缩小版本?
答案 0 :(得分:2)
您可以查看jQuery UI Autocomplete。
their Git repository中提供了完整的源代码。
答案 1 :(得分:2)
我不知道该怎么做,但是。 ..
如果你看一下这个答案:jQueryUI: how can I custom-format the Autocomplete plug-in results?
你可以看到有一种方法可以摆弄jQuery的渲染逻辑来改变菜单项的显示方式。还有一个名为renderMenu的内部jQuery函数,它实际上提供了选择。
我没有试过这个,但我想通过打开那个黑盒子,并且替换或重新渲染renderMenu及其相关功能,你就可以做你想做的事 - 只渲染一个项目,实际上文本框。
无论如何,这就是我要去的地方。
编辑
我在jQuery UI中再次查看了自动填充内容。通过插入自定义response()
功能来替换菜单显示逻辑似乎非常简单。
这就是我的所作所为:
// display the first item in the list of possible completions
var myResponse = function( items ) {
var itemToSuggest, p1, p2;
if (items.length === 0) {return;}
itemToSuggest = items[0];
this.element.val( itemToSuggest );
p1 = this.term.length;
p2 = itemToSuggest.length;
setSelectionRange(this.element[0], p1, p2);
};
var oldFn = $.ui.autocomplete.prototype._response;
$.ui.autocomplete.prototype._response = myResponse;
答案 2 :(得分:1)
可能像Chosen这样的人可以很好地完成工作
答案 3 :(得分:0)
使用jQuery UI自动完成的自动对焦。这应该自动关注列表中第一个找到的项目。