【发布时间】:2012-07-13 14:54:16
【问题描述】:
我正在使用带有 itemtip 选项的 primefaces 自动完成组件, 在得到建议后,我选择一个值作为姓氏示例, 但是我想在文本框中显示玩家的姓氏和名字,所以尝试了这种方式。
itemLabel="#{p.lastName} #{p.firstName} " 这两个有一些空间。
<p:autoComplete id="watermark" value="#{backingBean.object}"
size="40" completeMethod="#{backingBean.completeholder}"
var="p"
itemLabel="#{p.lastName} #{p.firstName} " itemValue="#{p}" converter="player">
<f:facet name="itemtip">
<h:panelGrid columns="2" styleClass="cellsp-panel">
<f:facet name="header">
<p:graphicImage value="#{p.imagePath}" width="60"
height="60" />
</f:facet>
<h:outputText value="LastName " style="font-weight:bold" />
<h:outputText id="ln" value="#{p.lastName}" />
<h:outputText value="FirstName " style="font-weight:bold" />
<h:outputText id="fn" value="#{p.firstName}" />
</h:panelGrid>
</f:facet>
<p:ajax event="itemSelect" update="e,c">
</p:ajax>
</p:autoComplete>
所以在选择建议后,它会完美地显示玩家的姓氏和名字。 但是一个问题被创建为 - 它在自动完成文本框中创建了一个空间,所以我需要使用 退格删除此空间,以便我可以搜索以获取建议。 我该如何克服这个问题?
- 另外我在自动完成时使用水印,它只在我使用单个 itemLabel 时才有效 itemLabel="#{p.lastName} 否则无法在自动完成中显示水印。
3.此外,当我使用不区分大小写的输入时,用户可以在不区分大小写的情况下进行搜索, 一旦我得到任何建议并且仍然尝试输入一些关键工作以进行进一步过滤, 建议消失,如果我默认区分大小写,它会起作用。
-
用户可以输入玩家的姓氏或名字,但他仍然需要得到建议,我需要在以下方法中进行哪些修改? 我已将姓氏与首字母作为大写字母存储,因此我以这种方式使用 toUpperCase()
公开列表完成播放器(字符串查询){
列表建议 = new ArrayList();for(Player p : players) { if(p.getlastName().startsWith(query.toUpperCase())) suggestions.add(p); } return suggestions; }
我该如何克服这个问题?
【问题讨论】:
标签: jsf-2 primefaces