2
我有一個基本上只是行和列數據的JSF頁面。每行的數據來自一個類的實例的屬性。每行都有一個鏈接,點擊時會調用一個支持bean方法刷新該行上的數據。行由表示它們下方的行組的標題分隔。我還想將標題設置爲鏈接,以便刷新它下面的所有行。我嘗試使用這樣的一些JavaScript:刷新元素組
function refreshGroup(){
var obj1 = document.getElementById("refresh0:link0");
var obj2 = document.getElementById("refresh1:link1");
window.open(obj1);
window.open(obj2);
};
但這只是打開新標籤。有什麼辦法可以讓用戶點擊每個鏈接?這就是JSF看起來像調用支持bean的鏈接:
<h:form id="refresh#{loop.index}" >
<h:commandLink id="link#{loop.index}" value="#{a.status}" >
<f:ajax listener="#{a.getCheckAppMonitor}"
render=":errs#{loop.index} :refresh#{loop.index} :errs_#{i+1}"
onevent="refreshMoreLessLinks" />
</h:commandLink> <img id="img_#{loop.index}"
class="hidden"
src="resources/images/ajax-loader.gif"/>
</h:form>
這一切嵌套在c:foreach
循環內。
的標題鏈接看起來是這樣的:
<h3><a href="javascript:refreshGroup();">Group 1</a></h3>
編輯:
它發生,我認爲我需要重新創建一個commandLink
這樣我就可以使一切。我這樣做:
<h:form id="header1" >
<h:commandLink class="link" value="Group 1" >
<f:ajax listener="#{appBean.refresh}" render="@all" />
</h:commandLink>
</h:form>
,似乎工作,只是它會導致我的瀏覽器(IE8)崩潰。當瀏覽器恢復時,我可以看到它確實更新了。關於render =「@ all」的任何想法都會導致我的瀏覽器崩潰?我將@all更改爲一個元素,並且工作正常。
謝謝!我會upvote,但我還不能:( – taylordurden
不客氣,不用擔心選票。 – BalusC