0

我有 jqGrid 4.1.2 并且我试图强制在 $(document).ready(

我想要实现的是用值填充过滤字段之一并“按 Enter”,以便 jqGrid 将其过滤掉。

我已经通过 GET 将值传递给页面,像这样传播过滤器字段值:

         var filteritem = document.getElementById("gs_fieldToBeFilteredID");
         filteritem.value = "MY filter value";

它导致过滤器字段填充有“我的过滤器值”。但现在我试图在文档末尾触发“输入按下”,如下所示:

$(document).ready(function () {

     $("#myGrid")[0].triggerToolbar();
}
);

我也试过

 jQuery("#myGrid").jqGrid("filterToolbar");

没有效果。我还将上面的代码放在 jQGrid loadComplete 事件中,也没有任何效果。过滤器已满,但我“不能”强制它触发过滤......有什么想法吗?!

我会很感激任何帮助。此致

4

2 回答 2

2

在我看来,答案中的演示就是您所需要的。

设置元素后value<input>您可以触发change过滤器然后使用

$(filteritem).focus().trigger({ type : 'keypress', charCode : 13 });

取决于您触发keypress事件的位置,您可能需要在单独的线程中执行此操作。所以你可能需要setTimeout像我在演示中那样做。

于 2011-08-24T16:20:21.883 回答
0

您应该能够将发布数据添加到网格中,这就是您想要的,因此您不需要重新触发网格来重新加载。它会在初始请求中得到它。

这是完整的文章:http ://www.trirand.com/jqgridwiki/doku.php?id=wiki:post_data_module

我已经通过“请求前”事件完成了它,设置了一个添加所需数据的函数。

function jqGridBeforeRequest()
{
   $(this).appendPostData(<JSON/object data here>);
}
于 2011-08-24T15:32:04.947 回答