<h:form>
<p:dataTable var="btsEvent" value="#{eventController.eventsList}" rows="5"
paginator="true"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="5,10,15">
<p:column id="Acknowledged" headerText="Acknowledged" >
<!-- conditional rendering -->
<p:graphicImage id="#{btsEvent.id}" value="resources/elements/confirm.png" rendered="#{btsEvent.ack}" />
<p:commandButton value="OK" id="AckButton" rendered="#{!btsEvent.ack}"
actionListener="#{btsEvent.getAcknowledgedOnClick(btsEvent.id)}"
styleClass="ui-priority-primary"/>
</p:column>
</p:dataTable>
</h:form>
我正在尝试为graphicImage分配动态ID,以便以后能够使用javascript捕获它,并通过 btsEvent.getAcknowledgedOnClick(btsEvent.id)更改其源属性。似乎在这里没有提供动态ID,因为我得到“不允许空ID属性”。 我的目标是重新查找一个OK图像或一个确认按钮,当点击一些代码执行,然后另一个js代码更改图像。 如何为图像指定动态ID或从 getAcknowledgedOnClick 功能访问相应的 graphicImage ?
其他选项是将按钮本身作为图像重新插入,并在代码中更改该图像。我怎么能这样做?