使用下拉列表填充primefaces自动填充

时间:2015-09-04 05:56:42

标签: jsf primefaces

在JSF中使用primeface

<p:autoComplete minQueryLength="5" value="#{itemManagementMB.itemManagementLazy.code}" forceSelection="true" autocomplete="false"
    completeMethod="#{itemManagementMB.autoCompleteUsindCode}" dropdown="true">
    <p:ajax event="itemSelect" listener="#{itemManagementMB.handleSelect}" />
</p:autoComplete>

当我输入 5个关键字时,工作正常。但我希望以这种方式实施,如果用户输入 4个字并按下拉列表,它会根据4个关键字填充自动完成功能。

有一件事阻止我,当我点击下拉列表时,autoCompleteUsindCode(String query)方法取空字符串,itemManagementMB.itemManagementLazy.code也为空。

任何更新? / 解决方案

2 个答案:

答案 0 :(得分:1)

根据Primefaces 5.1用户指南第29页,我引用:

  

下拉模式

     

启用下拉模式时,旁边会显示一个下拉按钮   在输入字段中,单击此按钮将执行空搜索   查询,一个常规的completeMethod实现应该加载所有   可用的项目作为回应。

答案 1 :(得分:1)

经过深思熟虑之后,我就这样解决了

<强>解决方案:

<p:autoComplete id="anum" minQueryLength="5" value="#{transferInMB.itemManagementLazy.code}" forceSelection="true"
    completeMethod="#{transferInMB.autoCompleteUsingCode}" dropdown="true">
    <p:ajax event="itemSelect" listener="#{transferInMB.handleSelect}" />
    <p:ajax event="keyup" />
</p:autoComplete>

我只需添加以下内容

<p:ajax event="keyup" />