简体   繁体   中英

populate primefaces autocomplete with dropdown

In JSF using 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. but I want implement in that way , if user enter 4 words and press dropdown it populate autocomplete based on 4 keywords.

One thing is blocking me that when I click on dropdown, autoCompleteUsindCode(String query) method take empty string and itemManagementMB.itemManagementLazy.code also empty.

any update ? / solution ?

As per Primefaces 5.1 User Guide page 29, I quote:

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.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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