Jsf 2 如何在rich:autoComplete中单击按钮时显示所有项目?

Jsf 2 如何在rich:autoComplete中单击按钮时显示所有项目?,jsf-2,autocomplete,combobox,richfaces,Jsf 2,Autocomplete,Combobox,Richfaces,Richfaces 4: 我正在使用rich:autoComplete和atribute showButton作为“true”,如下所示: <rich:autocomplete mode="client" value="#{backingBean.selectedType}" autocompleteList= "#{backingBean.availableTypes}" showButton="true"> </rich:autocomplete> 目

Richfaces 4: 我正在使用rich:autoComplete和atribute showButton作为“true”,如下所示:

<rich:autocomplete mode="client" value="#{backingBean.selectedType}"
  autocompleteList= "#{backingBean.availableTypes}" 
  showButton="true">
</rich:autocomplete>

目前,它将过滤后的值显示为用户输入的建议。此外,单击按钮时,它仅显示过滤后的值

我需要显示可用类型的完整列表,而不管用户在文本框中单击按钮时输入了什么。但是,在文本框中输入应该会过滤结果。这种行为在richfaces 3.3组合框中出现过,但在richfaces 4中似乎没有出现


有人知道如何实现这一点吗?

这是一个老问题,我认为RF 4.5.2将有一个更好的行为选择,但如果有人发现自己在RF 4.3中遇到了这个问题,我们可以通过修改richfaces-components-ui-4.3.7.Final.jar中的AutoComplete.js来解决这个问题:

rf.getDomElement(this.fieldId).focus();
if (this.isVisible) {
    this.__hide(event);
} else {
    var newItems = this.cache.getItems('', this.options.filterFunction);
    this.items = $(newItems);
    $(rf.getDomElement(this.id + 'Items')).empty().append(this.items);
    onShow.call(this, event);
}
else子句的前三行是新的,单击下拉按钮时会显示整个列表。否则,组件过滤的工作原理相同。(这是客户端模式。我没有尝试其他选项。)


我在从源代码构建项目时遇到了困难,但为此,只需解压缩jar文件,替换js,然后重新构建jar即可。

关于这个问题,您有什么发现吗?还是这个问题还没有解决?我无法使用rich:autoComplete实现此目的。我使用了jQuery组合框。