我需要出示一份拍卖品清单。当用户单击每个项目旁边的投标按钮时,我想让 ajax 在此拍卖项目下打开一个投标表格。因此,我将使用 aui:repeat
和 a f:ajax
,如下所示,但是当我进入该页面时,所有拍卖品旁边都会打开投标组件。单击任何按钮都不会执行任何操作。这是代码(投标表格简化为一个outputText:
)
<h:form>
<table border="1">
<ui:repeat var="parcel" varStatus="status" value="#{auctionsViewBean.parcels}">
<tr>
<td><h:commandButton value="Bid" action="nothing">
<f:ajax render="bidView"/>
</h:commandButton></td>
<td>#{status.index + 1}</td>
<td>#{parcel.a}</td>
<td>#{parcel.b}</td>
<td>#{parcel.c}</td>
</tr>
<tr><td><h:outputText id="bidView" value="#{auctionsViewBean.showBidViewForParcel(parcel)}">Some text</h:outputText></td></tr>
</ui:repeat>
</table>
</h:form>
我究竟做错了什么?以及如何仅指定与点击的拍卖项目相关的出价组件?