我有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事件中,也没有效果。 过滤器已填满,但我“不能”强制它触发过滤...任何想法?!
我很感激任何帮助。 最好的问候
答案 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>);
}