我有一個UI:在表格內重複拍賣物品。這是一個普通的html表格,因爲當您點擊一個bid commandLink時,在所選拍賣項目下打開一行,並顯示出價組件。投標commandLink使用AJAX這樣的:關閉UI中的所有展開的行:重複
<f:ajax listener="#{bean.addBidView(lot)}" render="bidView" />
addBidView正在更新地圖AuctionItems中的,這就是如何正確選擇行打開。當用戶再次點擊相同的投標鏈接時,addBidView會計算出結果並關閉投標組件。
現在我們假設用戶點擊了多行,從而打開了多個出價組件。他們都開放,但只有一個是積極的。所以這裏是我的問題:當我使用上述ajax時,如何獲取整個循環以便打開出價組件會自動關閉其他開放組件。 (拍賣物品地圖反映的是正確的投標組件,但是隻有這一個投標區域被渲染,所以其他投標區域不受影響,如果我刷新整個頁面,則顯示是正確的,並且問題只存在於I 「M使用AJAX)
這是在頁面上的元素(這一切是H內部的結構:形式:)
<table id="bidstable">
<h:panelGroup id="entireLoop">
<ui:repeat id="repeatAuctionItems" var="auctionItem" varStatus="status" value="#{bean.auctionItems}">
<td>... a bunch of td's with the auction item values ... and then:
<h:commandLink id="bid" rendered="#{some conditions}">
<f:ajax listener="#{bean.addBidView(auctionItem)}" render="bidView"/>
</h:commandLink>
</td>
</ui:repeat>
</h:panelGroup>
</table>
我試圖幾乎每一箇中的元素的組合「渲染「 - 例如:
render="bidView bidsTable"
或 render =「bidView bidsTable:wholeLoop:repeateAuctionItems」
和我能想到的其他所有線索。什麼都沒有有任何想法嗎?
好的,太好了。趕上的是
不客氣。 – BalusC 2012-02-27 15:36:17
相關問題