jqgrid数据不显示 alert就能显示

我用tempJqgridData=$('#editgrid').jqGrid('getGridParam','data');获取了表格的数据,之后处理完之后再用$('#e... 我用
tempJqgridData = $('#editgrid').jqGrid('getGridParam', 'data');
获取了表格的数据,
之后处理完之后再用
$('#editgrid').jqGrid("setGridParam", { data : tempJqgridData }).trigger('reloadGrid');
想把之前的值塞回去,但页面什么都没有。
我以为是中间的操作把tempJqgridData给覆盖了,就在塞值前alert(tempJqgridData)了一下,结果里面有值(和取到的时候alert是一样的结构[object,object]),并且这时候grid的值就重新塞进去了。
请问这是为什么啊?页面不能每次需要重新塞值的时候就alert一下啊
展开
 我来答
shenchaoliang
推荐于2016-04-26 · TA获得超过1163个赞
知道大有可为答主
回答量:810
采纳率:0%
帮助的人:1515万
展开全部
ajax默认是异步的,就是加了alert以后阻止了setgriadparam,但是不会阻止reload。在你点确认之前,reload可能已经完成(由你服务器端返回的时间决定)。再去执行setgridparam就塞进去了。如果你服务器端返回时间很慢,而你点alter的确认很快,依然只是服务器端的数据。大概知道你要的效果,可以这样
$('#editgrid').jqGrid("setGridParam", { data : tempJqgridData }).trigger('reloadGrid'); 改成
$('#editgrid').clearGridData();
for(var i=0;i<=tempJqgridData.length;i++)
$('#editgrid').jqGrid('addRowData',i+1,tempJqgridData[i]);

不过测试了一下,如果是tree形式的有问题
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式