简体   繁体   English

使用下拉列表填充素面自动完成

[英]populate primefaces autocomplete with dropdown

In JSF using primeface 在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>

When I enter 5 keywords that working fine. 当我输入5个关键字时 ,效果很好。 but I want implement in that way , if user enter 4 words and press dropdown it populate autocomplete based on 4 keywords. 但是我想以这种方式实现,如果用户输入4个单词并按下下拉菜单,它将基于4个关键字填充自动完成功能。

One thing is blocking me that when I click on dropdown, autoCompleteUsindCode(String query) method take empty string and itemManagementMB.itemManagementLazy.code also empty. 阻止我的一件事是,当我单击下拉列表时, autoCompleteUsindCode(String query)方法采用空字符串,而itemManagementMB.itemManagementLazy.code也为空。

any update ? 更新吗? / solution ? / 解决方案

As per Primefaces 5.1 User Guide page 29, I quote: 根据《 Primefaces 5.1用户指南》第29页,我引用:

Dropdown Mode 下拉模式

When dropdown mode is enabled, a dropdown button is displayed next to the input field, clicking this button will do a search with an empty query, a regular completeMethod implementation should load all available items as a response. 启用下拉模式后 ,将在输入字段旁边显示一个下拉按钮,单击此按钮将使用空查询进行搜索,常规的completeMethod实现应加载所有可用项作为响应。

After thinking a lot, I solved in that way 想了很多,我就这样解决了

Solution: 解:

<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>

I just add the following 我只添加以下内容

<p:ajax event="keyup" />

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM