<t:panelTab label="Detailed View" styleClass="tabFont" rendered="true" id="DetailedView">
<t:dataTable value="#{MyFinanceBB.amendDataList}" id="DetailedViewGrid" forceId="true"
var="myVo" rowIndexVar="gridExpRowNo"......>
...............
<t:inputText value="#{myVo.myval}" styleClass="BodyFont" forceId="true" id="myId2"
onchange="getTotalMyValAjax('myId2[#{gridExpRowNo}]',#{gridExpRowNo});">
/--------------------------------- -------------------------------/使用jQuery異步加載t:JSF中的dataTable
function getMyAmountTotalGrid(myidVar,count){
var myAmt=document.getElementById(myidVar).value;
var id = 'myForm\\:targetView';
$j.ajax({
async:"false",
cache:"false",
type: "POST",
url:"/myProj/myController",
data:{myAmt:myAmt,count:count},
error:function(){
alert('Error Occurred.Please try later');
},
success:function(output){
alert('SUCCESS');
$j('#'+id).load("/pagesmyProj/Home/dingDongHome.jsf");
alert('after reloading grid');
}
});
}
當我執行代碼警報消息SUCCESS正在被打印,並且所有的服務器端變量都得到了更新(我通過sysouts來了解這一點)。但是網頁上沒有任何變化。警告消息「在重新排列網格之後」也正在打印。但電網沒有重新加載。服務器端的變化沒有反映在瀏覽器中。
您是否收到任何錯誤?如果第一個警報觸發,但第二個警報不行,則中間的行可能會出錯。 – MrOBrian