Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 从自动完成中取消高亮显示第一个突出显示的项目_Jsf 2_Primefaces - Fatal编程技术网

Jsf 2 从自动完成中取消高亮显示第一个突出显示的项目

Jsf 2 从自动完成中取消高亮显示第一个突出显示的项目,jsf-2,primefaces,Jsf 2,Primefaces,在这里,我使用PrimeFaces 5.1中的p:autoComplete标记,但我无法从建议列表中删除第一个突出显示/选中的项目。我怎样才能去掉这个 既然你的“问题”来自这个特殊的 这里发生的事情是,当建议准备好显示时,脚本将突出显示列表的第一项,因此在您的情况下,您只需“取消高亮显示”该项 我已经创建了一个小函数,可以在您拥有的每一个自动完成上实现这一点,您可以在文档中调用它。ready或任何您认为合适的地方: function removeHighlightedFirstItem() {

在这里,我使用PrimeFaces 5.1中的
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');
  }
}