Javascript 我需要jqgrid刷新整个页面,而不仅仅是网格

Javascript 我需要jqgrid刷新整个页面,而不仅仅是网格,javascript,jqgrid,Javascript,Jqgrid,我需要jqgrid刷新整个页面,而不仅仅是网格 我有一个jqgrid,它显示汽车维修的工作细节。现在,我使用下面的脚本重新加载了网格,我需要对其进行更改,使其刷新整个页面,以便小计和合计字段(位于网格之外)更新。这是我的相关代码,如有任何帮助,将不胜感激: var editOptions = { keys: true, successfunc: function () { var $self = $(this);

我需要jqgrid刷新整个页面,而不仅仅是网格

我有一个jqgrid,它显示汽车维修的工作细节。现在,我使用下面的脚本重新加载了网格,我需要对其进行更改,使其刷新整个页面,以便小计和合计字段(位于网格之外)更新。这是我的相关代码,如有任何帮助,将不胜感激:

    var editOptions = {
        keys: true,
        successfunc: function () {
            var $self = $(this);
            setTimeout(function () {
                $self.trigger("reloadGrid");
            }, 50);
        }
    };

      $grid.jqGrid('navGrid', '#pager', {add: false, edit: false, del: true, search:false},{reloadAfterSubmit:true,afterSubmit:commonSubmit,closeAfterEdit:true,width:"400"},{reloadAfterSubmit:true,afterSubmit:commonSubmit,closeAfterAdd:false,width:"400"},{url:"editGrid.cfc?method=delUser",closeAfterDelete:true,reloadAftersubmit:false,afterSubmit:commonSubmit,caption:"Delete",msg:"Delete selected",width:"400"});

      $grid.jqGrid('inlineNav', '#pager', {addParams:{position:"last",addRowParams:editOptions},editRowParams:editOptions});
  });

如果确实需要重新加载整个当前HTML页面,可以调用
location.reload()
位置。重新加载(true)


如果您只需要刷新页面上网格外的某些元素,则可以在服务器响应中包含值(小计和总计),并在处理前在
loadComplete
回调中填充值。在
loadComplete
beforeProcessing
的内部,第一个参数
data
包含完整的服务器响应。因此,您可以从响应中获得所需的值(小计和总计),并使用jQuery.val或其他方法修改页面的外部元素。

顺便说一下,我尝试更改$self.trigger(“重载网格”);到$self.trigger(“location.reload()”);但这只会使新行消失,直到我使用F5手动刷新页面。(我还尝试了resetForm()并得到了相同的结果)谢谢你,Oleg。我尝试使用location.reload(),当我更改它时,网格将刷新到原始状态(没有新行),直到我手动点击F5,然后它重新出现。有趣的是,在deletes中,它调用了一个名为commonSubmit的函数,其中包含resetForm()命令,在删除行时可以正常工作。它似乎只有在editOptions变量中才会受到影响。在过去的两天里,我用尽了我所能想到的一切,但似乎都没能奏效。@raymondheade:不客气!是否使用了
location.reload()
位置。重新加载(true)。最后一个不应该使用本地缓存并从服务器重新加载页面。另外,如何填充网格也很重要。HTTP响应可以在HTTP头中包含HTTP缓存选项。例如,我使用网格的JSON数据在服务器响应中设置了典型的
缓存控制:private,max age=0
。我甚至尝试了window.location.reload(true)和resetForm()。除了重新加载网格,那里似乎什么都不起作用。我认为问题出在editpoptions变量的某个地方,但我对javascript或jquery的语法不太了解,无法解决这个问题。(这是我第一次使用jquery或jqgrid)@Raymond,我现在也遇到了同样的问题。我可以知道你明白了吗?@zhihong:如果你看看Raymond的个人资料,你会看到“最后一次看到是12月4日14日21:29”。所以我不建议你等他的回答。你应该试试我的建议,然后使用
location.reload()
位置。重新加载(true)并查看结果。