Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/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
Select 当用户键入时,Richfaces 4个动态选择选项_Select_Dynamic_Richfaces - Fatal编程技术网

Select 当用户键入时,Richfaces 4个动态选择选项

Select 当用户键入时,Richfaces 4个动态选择选项,select,dynamic,richfaces,Select,Dynamic,Richfaces,我正在使用丰富的面选择组件。 当用户在选择组件中手动键入某些内容时,我需要动态值 <rich:select enableManualInput="true" defaultLabel="start typing for select" value="#{supplierSearchBean.userInput}"> <a4j:ajax event="keyup" execute="@this" listener="#{suppli

我正在使用丰富的面选择组件。 当用户在选择组件中手动键入某些内容时,我需要动态值

<rich:select enableManualInput="true" defaultLabel="start typing for select" value="#{supplierSearchBean.userInput}">
                        <a4j:ajax event="keyup" execute="@this" listener="#{supplierSearchBean.userInputChange}"/>
                        <f:selectItems value="#{supplierSearchBean.selectOptions}" />
                        </rich:select> 
在这里,我发现了两个问题 第一:当用户键入值时,setUserINput始终打印空字符串 第二:侦听器方法从未得到调用


有什么帮助吗?

问题很可能是用户键入时没有选择的值,而此组件将允许的值限制为指定的选择项。因此,部分输入无效,无法绑定到bean


我认为如果您使用
rich:autocomplete
,您可以获得预期的行为。但是,如果要限制允许的值,也许你可以保持你的
丰富:选择
并监听
selectitem
事件。

richfaces-core-impl-4.0.0.0.Final.jar
文件夹下的
richfaces-core-impl-4.0.0.Final\META-INF\resources
文件中覆盖
getItems
函数

将推送项目的条件更改为

if(p != -1) 
而不是

if(p == 0)

这应该可以解决问题。

U要更新服务器上每个键控或从d框中丢失焦点的值…??检查提交部分是否在标记bcz中,然后只有它会提交表单并更新服务器和页面。。是的,它已经在h:form中。tagI发现a4j:ajax与rich:select一起工作,但不会在服务器端上使用udpate值每次按键。我在这里迟到了,但是在(最初为空)列表中的某个内容被选中之前,selectitem的监听是否不会触发?我们是否可以利用EL2.2将当前键入的字符串传递到a4j:ajax侦听器(可能在listkeypress事件上)?请注意,在我回到我的代码库之前,这是一个推测。嗨@mabi,自从我发布这个答案以来,我还没有与JSF和RF合作过,所以我将无法为您提供太多帮助。我认为最简单的解决方案仍然是使用
rich:autocomplete
,它不限制用户输入,因此您可以在keyup上将其绑定到bean。问题是
rich:autocomplete
只获取
字符串
值,因为它是一个纯
字段-如果您不能使用转换器的话(例如,因为所显示的字符串不能唯一地标识对象)您会遇到一些可怕的问题,比如在隐藏字段中设置对象id之类的问题。
if(p == 0)