之前遇到過兩次這種現象,下面是應用,運行起來正常,不會報錯,但是萬惡的IE就是不刷新
1.表格的id取錯了
$.ajax({
url : url,
// async : false,
type : "POST",
data : $('#' + formId).serializeArray(),
success : function(data) {
var jsonObject = jQuery.parseJSON(data);
if (jsonObject == 'success') {
layer.confirm('操作成功,是否關閉窗口?', {
btn: ['確定', '取消']
}, function () {
// 關閉彈出框口刷新表格
window.parent.$('#dg').datagrid('reload');
layer_close();
}, function () {
});
---------------------------
然後我就認真的找了找原因,原來是父頁面中的表格id取的不對!!!我像一頭驢一樣悶頭測試,問題卻出在最傻的地方,希望你不是。
2.父頁面datagrid的表格row是通過後來追加的,不存在url,你似乎沒看懂什麼意思,別慌,看代碼:
$(’#dg’).datagrid({
loadMsg : ‘請稍等…’,
fitColumns : true,
singleSelect : true,// 選中一行
remoteSort:false,//頁面刷新
width : “100%”,
height : “100.2%”,
rownumbers : true,
hideCollapsedContent : false,
columns : [ [ {
field : ‘frequency’,
title : ‘頻率’,
align : ‘center’,
sortable : true,
width : ‘15%’,
sorter:function(a,b){
if(parseFloat(a)){
a = parseFloat(a);
}
if(parseFloat(b)){
b = parseFloat(b);
}
return (a>b?1:-1);
}
}
//*********************************************************************
//追加row的方式
$(’#dg’).datagrid(‘insertRow’, {
index : 0, // 索引從0開始
row : {
frequency : result.freq,
status : result.status,
channelName:result.channelName,
launcher:result.launcher,
updateTime:result.updateTime,
score_sn : result.sn,
level : result.soundLevel,
}
});
---------------------------
沒錯,當初始化datagrid的時候,如果沒有指定url,你就算怎麼用下面的方式都是刷新不了的,datagrid沒有地址,它找誰要數據?
// 關閉彈出框口刷新表格
window.parent.$(’#dg’).datagrid(‘reload’);
---------------------------