0
경매 물건 목록을 표시해야합니다. 사용자가 각 항목 옆에있는 입찰 버튼을 클릭하면이 경매 항목 바로 아래에서 Ajax 입찰 양식을 열게하고 싶습니다. 아래 그림과 같이 ui:repeat
과 f:ajax
으로 갈 예정입니다. 그러나 페이지로 이동하면 모든 경매 항목 옆에 입찰 구성 요소가 열려 있습니다. 아무 버튼이나 클릭해도 아무런 변화가 없습니다. 이 코드f : ui 내부의 ajax : 반복
<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>
내가 뭐하는 거지 잘못된 (입찰 양식을 그냥 outputText:
에 간체)인가? 그리고 클릭 된 경매 항목과 관련된 입찰 구성 요소 만 지정하려면 어떻게해야합니까?
감사 :이 같은 뭔가
. 실제로 중첩 된 양식이 없으며 테이블의
아 맞습니다. 귀하의 질문은 모호한 것이었고 귀하의 잘못된 시도는 당신이 정말로 필요로하는 것을 이해하는 잘못된 길로 나를 몰아 넣었습니다. (기본적으로 귀하의 경우에는 ''은 아무 것도하지 않았습니다. 사실이 아닙니다.) 나는 대답을 업데이트했다. –
BalusC
시간을내어 주셔서 대단히 감사합니다, BalusC. 이제는 작동하지만 부분적으로 만 작동합니다. 페이지로 이동하면 구성 요소가 숨겨집니다. 단추를 클릭하면 올바른 단추가 표시됩니다. 여태까지는 그런대로 잘됐다. 그러나 isShowBidView가 루프의 각 반복마다 호출되는 것처럼 보입니다 - 버튼을 클릭 한 행까지. 예를 들어, 네 개의 행이 있고 세 번째 행 옆에있는 버튼을 클릭하면 isShowBidView가 첫 번째, 두 번째 및 세 번째 행에 호출됩니다. 처음 두 개는 올바르게 거짓이며, 세 번째는 참입니다. 무슨 일이야? – Herzog
관련 문제