我正在运行 Rich Faces 3.x,并且我在数据表中有一个子表,我想最好使用 Java 脚本来切换显示/隐藏。我目前所拥有的...
<c:set var="plusIcon" value="/sprites/images/collapsed.gif"/>
<c:set var="minusIcon" value="/sprites/images/expanded.gif"/>
...
<rich:dataTable id="bookList_dt" [...]>
<rich:column>
<h:graphicImage id="expand" value="/images/expanded.gif" onclick="toggleDetails(this);"/>
</rich:column>
<rich:column>
<f:facet name="header">ID</f:facet>
<h:outputText value="#{_item.bookId}"/>
</rich:column>
[...]
<rich:subTable value="#{_item.relatedVersions} var="_relatedItem" id="relatedVersionsList">
<rich:column>
<f:facet name="header">ID</f:facet>
<h:outputText value="#{_relatedItem.bookId}"/>
</rich:column>
[...]
</rich:subTable>
</rich:dataTable>
到目前为止,我的 JavaScript...
function toggleDetails(image) {
var detailsId = image.id.substring(0, image.id.lastIndexOf(':')) + ':relatedVersionsList';
var details = document.getElementById(detailsId);
if (details.style.display == 'none') {
details.style.display = 'block';
image.src = '#{minusIcon}';
} else {
details.style.display = 'none';
image.src = '#{plusIcon}';
}
目前我收到一个错误,指出详细信息为空
编辑:我听说使用子表的 HtmlSubTable 类可能有效,但我没有看到任何使用示例,有人有什么想法吗?