天天看点

子页面刷新父页面表格失效,window.parent.$('#xxx').datagrid('reload')失效

之前遇到过两次这种现象,下面是应用,运行起来正常,不会报错,但是万恶的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’);

---------------------------
           

继续阅读