有什麼辦法來訪問一個<a4j:jsFunction>
參數在它的oncomplete=""
屬性,而不使用action=""
屬性和<a4j:param>
assingTo=""
?如何訪問一個參數A4J:jsFunction的屬性的onComplete
<a4j:jsFunction name="refreshTableFilter" render="table,scroller" execute="@form" oncomplete="setCursor(componentId);">
<a4j:param name="componentId" />
</a4j:jsFunction>
我正在尋找一種方法直接訪問<a4j:param>
。我不需要BackingBean中的參數,我不需要action=""
屬性。
UPDATE
我當前的代碼是:
<rich:extendedDataTable id="table"
rowKeyVar="index" selectionMode="single"
selection="#{cc.attrs.controller.selection}"
displayColumnsOrder="#{cc.attrs.configController.currentColumnConfig}"
rowClasses="light-table-row,dark-table-row"
value="#{cc.attrs.controller.entities}" var="entity"
rows="#{cc.attrs.rows}">
<a4j:ajax event="rowclick" onbegin="tableRowClick(#{index})"/>
<rich:column id="cShipName" styleClass="segment"
filterValue="#{cc.attrs.controller.vesselNameFilter}"
filterExpression="#{fn:containsIgnoreCase(entity.vesselName, fn:trim(cc.attrs.controller.vesselNameFilter))}"
width="140px">
<f:facet name="header" id="headerShipName">
<div style="margin-top: 5px;">
<h:inputText id="shipnameFilter" style="width:99.9%" value="#{cc.attrs.controller.vesselNameFilter}" />
</div>
</f:facet>
<h:outputText value="#{entity.vesselName}" />
</rich:column>
...
</rich:extendedDataTable>
並調用A4J的JavaScript:jsFunction:
$(document).bind('keypress', function(e) {
if(e.keyCode==13){
var elementId = document.activeElement.id;
if (elementId.indexOf('shipnameFilter') != -1) {
refreshTableFilter();
return false;
}
return true;
}
});
A4J:jsFunction:
<a4j:jsFunction name="refreshTableFilter" render="[email protected], scroller" execute="@form" />
如果我刪除render=""
屬性中的@body
,但在渲染後沒有顯示任何內容(如果按F5,表中將顯示正確的數據),則jsFunction正常工作。
您對meta組件的回答聽起來很不錯,但不幸的是它無法正常工作。我將'render =「table,scroller」'改成了'render =「table @ body,scroller」'並且輸入字段仍然是焦點的(渲染後),但是表格體在渲染後總是空的。例如桌子有兩排。當我在過濾器字段中輸入內容並在渲染後顯示一行時,將不會顯示任何行。如果我清除過濾器值,則渲染後不會顯示任何行。有什麼我必須做的使用元組件? – marco235 2013-03-13 08:44:34
@ marco235元數據由rich:extendedDataTable支持,你使用這個組件嗎?你能提供更多的代碼(包括表格)嗎? – Andrey 2013-03-14 00:06:53
我使用extendedDataTable。我用當前的代碼更新了這個問題。 – marco235 2013-03-14 14:15:35