【问题标题】:trigger reloadGrid in jqGrid works only after alert showjqGrid 中的触发器 reloadGrid 仅在警报显示后有效
【发布时间】:2011-04-06 16:09:22
【问题描述】:

我试过了,但只有在显示警报后才会触发重新加载:

$("#gs_title").val('test');
$('#mygrid').trigger('reloadGrid');

什么都没有。

$("#gs_title").val('test');
alert('loaded');
$('#mygrid').trigger('reloadGrid');

工作(重新加载数据)。我不知道为什么,但使用 $("#mygrid")[0].triggerToolbar() 也不起作用。

【问题讨论】:

  • 插入行的位置很重要。您能否修改问题的文本并包含您使用的更完整的 JavaScript 代码。你的问题不是你做了什么,而是wherewhen
  • 其实我是通过 $('#mygrid').delay(1000)[0].triggerToolbar(); 解决的;

标签: jquery jqgrid


【解决方案1】:

可能the demo 来自the old answer 做你想做的事。

更新: 另一个演示:thisthis 可以是另一种实现方式,而不是您所做的,而是您可能需要的:在加载时过滤数据。 (例如见this answer

更新 2:您没有发布更多代码,因此很难评论代码。此外,您没有解释您想要做什么,也没有描述上下文。例如,您有 jqGrid,它将填充 remote 数据(datatype:'json'datatype:'xml')。在这种情况下,reloadGrid 将被忽略,直到之前的 ajax 调用未结束。

【讨论】:

  • 其实我是通过 $('#mygrid').delay(1000)[0].triggerToolbar();但我喜欢ok-soft-gmbh.com/jqGrid/MultisearchFilterAtStart.htm postData 一开始可能对我来说是更好的解决方案。 (代码就在 jqGrid 设置的下方)
  • @Daniele Cruciani:看看我答案的“更新 2”部分。可能是你原来的问题的原因。
【解决方案2】:

您确定正在等待 DOM 加载吗?

$(document).ready(function()
{
  $("#gs_title").val('test');
  $('#mygrid').trigger('reloadGrid');
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    相关资源
    最近更新 更多