Richfaces 4: 我使用rich:autoComplete,将属性showButton设置为“true”,如下所示:
<rich:autocomplete mode="client" value="#{backingBean.selectedType}"
autocompleteList= "#{backingBean.availableTypes}"
showButton="true">
</rich:autocomplete>
目前,它会将过滤后的值显示为用户输入内容作为建议。此外,点击按钮时,它仅显示过滤值。
我需要显示可用类型的完整列表,无论用户在单击按钮时在textBox中输入了什么。但是,键入文本框应该过滤结果。这种行为早先出现在richfaces 3.3组合框中,但不知何故,在Richfaces 4中,它似乎缺失了。
有人知道如何实现这个目标吗?
答案 0 :(得分:0)
这是一个老问题,我认为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子句的前三行是new,导致在单击下拉按钮时显示整个列表。否则,组件过滤的工作方式相同。 (这是在客户端模式下。我还没有尝试过其他选项。)
我在从源代码构建项目时遇到了麻烦,但是为此需要解压缩jar文件,替换js,然后重新装箱。