Mam określony wymóg, gdy muszę zaktualizować dataTable
przez onchange
wydarzenie z , ale wydaje się, że dataTable nie jest aktualizowana. Próbowałem użyć funkcji triggerChange()
, bez powodzenia. Proszę znaleźć poniższy kod, który próbowałem.Funkcja triggerChange() nie działa w JSF?
xhtml
<p:selectOneMenu id="id" style="width:250px"
value="#{priceCharterMBean.traffic.id}"
required="true"
requiredMessage="Traffic is required"
filter="true"
filterMatchMode="startsWith"
widgetVar="w_menu"
onchange="updateTable();">
<p:ajax event="change" process="@this"
listener="#{priceCharterMBean.loadTEI}"
update="aTEModelList"
immediate="true"
partialSubmit="true" />
<f:selectItem itemLabel="Select" itemValue=""
noSelectionOption="true" />
<f:selectItems value="#{priceCharterMBean.trafficModelList}"
var="traffic" itemLabel="#{traffic.loadTrafficList}"
itemValue="#{traffic.id}" />
</p:selectOneMenu>
<p:dataTable style="width:350px" id="aTEModelList" var="aTEModelList" value="#{priceCharterMBean.aTEModelList}" rowKey="#{aTEModelList.id}">
<p:column style="display: none">
<f:facet name="header">
<h:outputText value="Expense Id" />
</f:facet>
<h:outputText id="expId" value="#{aTEModelList.id}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Expense Short Description" title="#{text.expenseshortdescription}" />
</f:facet>
<h:outputText id="expenseShortDesc" value="#{aTEModelList.expenseShortDescription}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Actual Expense Value" title="#{text.actualexpensevalue}" />
</f:facet>
<h:inputText id="actualTrafficExpense" maxlength="8" value="#{aTEModelList.actualTrafficExpense}" />
</p:column>
</p:dataTable>
javascript
function updateTable() {
w_menu.triggerChange();
}
Powyższa funkcja nie została wywołana, a wartości w DataTable pozostają niezmienione nawet, zmienić wartość w upuścić.
Wielkie dzięki, Hatem !! :) –
Nie ma za co. –