Javascript jqGrid力滤波器触发器
我有jqGrid 4.1.2和Iam试图强制在$(文档)上触发筛选器。准备好了吗( 我想要实现的是用值填充一个过滤字段,然后“按enter键”,这样jqGrid就会过滤掉它 我已通过GET将值传递到页面,并按如下方式传播筛选器字段值:Javascript jqGrid力滤波器触发器,javascript,jquery,jqgrid,jqgrid-asp.net,Javascript,Jquery,Jqgrid,Jqgrid Asp.net,我有jqGrid 4.1.2和Iam试图强制在$(文档)上触发筛选器。准备好了吗( 我想要实现的是用值填充一个过滤字段,然后“按enter键”,这样jqGrid就会过滤掉它 我已通过GET将值传递到页面,并按如下方式传播筛选器字段值: var filteritem = document.getElementById("gs_fieldToBeFilteredID"); filteritem.value = "MY filter value"; $(docum
var filteritem = document.getElementById("gs_fieldToBeFilteredID");
filteritem.value = "MY filter value";
$(document).ready(function () {
$("#myGrid")[0].triggerToolbar();
}
);
这会导致筛选字段填充“我的筛选值”。但现在我正试图在文档末尾触发“回车键”,如下所示:
var filteritem = document.getElementById("gs_fieldToBeFilteredID");
filteritem.value = "MY filter value";
$(document).ready(function () {
$("#myGrid")[0].triggerToolbar();
}
);
我也试过了
jQuery("#myGrid").jqGrid("filterToolbar");
我还将上述代码放在jQGrid loadComplete事件中,但也没有效果。
过滤器已满,但我“无法”强制它触发过滤…有什么想法吗
我将感谢任何帮助。
致以最诚挚的问候您应该能够将post数据添加到网格中,这是您想要的,这样您就不需要重新触发网格以重新加载。它将在初始请求中获得它 全文如下: 我用“请求前”事件完成了它,设置了一个函数来添加所需的数据
function jqGridBeforeRequest()
{
$(this).appendPostData(<JSON/object data here>);
}
函数jqGridBeforeRequest()
{
$(this.appendPostData();
}
在我看来,from是您所需要的
在
元素上设置值后,可以触发更改过滤器,然后使用
$(filteritem).focus().trigger({ type : 'keypress', charCode : 13 });
根据触发按键事件的位置,您可能需要在单独的线程中执行此操作。因此,您可能需要在设置超时中执行此操作,就像我在演示中所做的那样。我发现添加一些延迟会导致此操作正常:var xxx=jQuery(#list2));alert(“delay”);xxx.jqGrid(“filterToolbar”);$(“#list2”)[0].triggerToolbar();但添加延迟不是一个选项