我在我的项目中使用 primefaces。我在循环内使用自动完成时遇到问题。在 forEach 循环中,我有一个输出标签和一个自动完成标签。我将 forEach 循环中的“items”属性映射到 HashMap,并根据映射大小迭代循环并呈现 outputlabel 和 autocomplete。输出标签按顺序呈现,但自动完成呈现在相同位置(相互重叠)。
任何帮助将不胜感激。
<div style="margin-top: 2.3%;">
<c:forEach var="attachMap" items="#{searchAccountBean.attachmentMap}">
<h:outputText style="margin-top:4%" value="#{attachMap.key}"></h:outputText>
<p:autoComplete value="#{searchAccountBean.attachmentMap[attachMap.key]}"
id="autoId_#{attachMap.key}"
completeMethod="#{searchAccountBean.completeAccountName}"
var="p" itemLabel="#{p}" itemValue="#{p}" forceSelection="true"
size="15" style="margin-top:2.5%;"
scrollHeight="80" minQueryLength="1" title="Enter Account Name">
<p:ajax event="itemSelect" listener="#searchAccountBean.handleSelectAccount}"></p:ajax>
<p:ajax event="blur"></p:ajax>
</p:autoComplete>
<p:spacer width="30px" ></p:spacer>
</c:forEach>
</div>