Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jqGrid力滤波器触发器_Javascript_Jquery_Jqgrid_Jqgrid Asp.net - Fatal编程技术网

Javascript jqGrid力滤波器触发器

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

我有jqGrid 4.1.2和Iam试图强制在$(文档)上触发筛选器。准备好了吗(

我想要实现的是用值填充一个过滤字段,然后“按enter键”,这样jqGrid就会过滤掉它

我已通过GET将值传递到页面,并按如下方式传播筛选器字段值:

         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();但添加延迟不是一个选项