jqGrid强制过滤器触发器

时间:2011-08-24 13:20:59

标签: javascript jquery jqgrid jqgrid-asp.net

我有jqGrid 4.1.2和Iam试图强制过滤器在$(文件)上启动.ready(

我想要实现的是用值填充其中一个过滤字段并按“输入”,以便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事件中,也没有效果。 过滤器已填满,但我“不能”强制它触发过滤...任何想法?!

我很感激任何帮助。 最好的问候

2 个答案:

答案 0 :(得分:2)

在我看来,the old demo the answer就是您所需要的。

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

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

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

答案 1 :(得分:0)

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

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

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

function jqGridBeforeRequest()
{
   $(this).appendPostData(<JSON/object data here>);
}