我的页面中有两个jqgrids
。当页面加载时,我会向使用modeldialogwindow
调用的用户弹出ajax
。我将使用用户选择的弹出窗口中的值来填充jqgrids。我可以延迟jqgrid
加载ajax调用吗? (通过提供timeout
?)我的问题是有时网格ajax
在弹出窗口之前调用fires。所以从后端它会抛出一个错误。 (因为用户选择的值不存在。我需要按顺序执行以下操作。
显示弹出窗口。等待用户响应(这将在使用window.showModalDialog
时自动发生)获取用户选择的值并发布到后端。
发送ajax调用以加载第一个网格。
发送ajax调用以加载第二个网格。
因为在'$(document).ready'
i无法延迟之后,jqgrids正在填充。
感谢您的帮助。提前谢谢。
答案 0 :(得分:8)
您应该在初始化时将两个网格的datatype
参数设置为'local'
。它会阻止任何ajax
次呼叫。在用户选择ajax
请求所需的所有参数后,您应将datatype
设置为'json'
(或'xml'
,具体取决于您的要求)并触发reloadGrid
:
$("#list").setGridParam({datatype:'json',page:1}).trigger('reloadGrid');
答案 1 :(得分:0)
不要在$(document).ready上调用jqgrid函数,而是将其移动到用户在模态框中进行选择后触发的事件。