Jsf 2 从自动完成中取消高亮显示第一个突出显示的项目
在这里,我使用PrimeFaces 5.1中的Jsf 2 从自动完成中取消高亮显示第一个突出显示的项目,jsf-2,primefaces,Jsf 2,Primefaces,在这里,我使用PrimeFaces 5.1中的p:autoComplete标记,但我无法从建议列表中删除第一个突出显示/选中的项目。我怎样才能去掉这个 既然你的“问题”来自这个特殊的 这里发生的事情是,当建议准备好显示时,脚本将突出显示列表的第一项,因此在您的情况下,您只需“取消高亮显示”该项 我已经创建了一个小函数,可以在您拥有的每一个自动完成上实现这一点,您可以在文档中调用它。ready或任何您认为合适的地方: function removeHighlightedFirstItem() {
p:autoComplete
标记,但我无法从建议列表中删除第一个突出显示/选中的项目。我怎样才能去掉这个 既然你的“问题”来自这个特殊的
这里发生的事情是,当建议准备好显示时,脚本将突出显示列表的第一项,因此在您的情况下,您只需“取消高亮显示”该项
我已经创建了一个小函数,可以在您拥有的每一个自动完成上实现这一点,您可以在文档中调用它。ready
或任何您认为合适的地方:
function removeHighlightedFirstItem() {
var oldAutoCompleteShowSuggestions = PrimeFaces.widget.AutoComplete.prototype.showSuggestions;
PrimeFaces.widget.AutoComplete.prototype.showSuggestions = function(query) {
//calling original ShowSuggestions
oldAutoCompleteShowSuggestions.apply(this, [query]);
//after ShowSuggestions
//remove first item highlight
var firstItem = this.items.eq(0);
firstItem.removeClass('ui-state-highlight');
}
}
结果如下所示:
注意:通过向组件添加
autoHighlight=“false”
属性,您请求的功能可用于5.1.5、5.0.14和5.2版本。未找到任何可配置此问题的属性。我也尝试了这个解决方案,在这种情况下,它没有被选中,而是被突出显示。你的意思是?像标准的谷歌搜索工作一样,在这种情况下,有可能吗?请看答案,答案是一样的!非常感谢哈特姆:)谢谢你!这是非常有用的:)如何提交表单按回车键,目前我必须按ESC在自动完成之前按回车键,然后它提交表单按回车键?
function removeHighlightedFirstItem() {
var oldAutoCompleteShowSuggestions = PrimeFaces.widget.AutoComplete.prototype.showSuggestions;
PrimeFaces.widget.AutoComplete.prototype.showSuggestions = function(query) {
//calling original ShowSuggestions
oldAutoCompleteShowSuggestions.apply(this, [query]);
//after ShowSuggestions
//remove first item highlight
var firstItem = this.items.eq(0);
firstItem.removeClass('ui-state-highlight');
}
}