Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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 filterToolbar中的免费jqGrid搜索参数消失_Javascript_Jquery_Jqgrid_Free Jqgrid - Fatal编程技术网

Javascript filterToolbar中的免费jqGrid搜索参数消失

Javascript filterToolbar中的免费jqGrid搜索参数消失,javascript,jquery,jqgrid,free-jqgrid,Javascript,Jquery,Jqgrid,Free Jqgrid,我使用的是的4.13.1版。我刚刚添加了过滤器工具栏的代码,它正在工作,只是搜索参数在搜索后消失了。搜索工作和一切,但我想留在工具栏中的文字,直到清除使用(x) 免费jqGrid 4.13.1引入了新功能-基于postData.filters填充过滤器工具栏。看。该功能有一些bug,这些bug存在于您的案例中。这些错误在更高版本的免费jqGrid中得到修复 您可以通过使用loadFilterDefaults:false(通过使用.jqGrid(“filterToolbar”、{loadFilte

我使用的是的4.13.1版。我刚刚添加了过滤器工具栏的代码,它正在工作,只是搜索参数在搜索后消失了。搜索工作和一切,但我想留在工具栏中的文字,直到清除使用(x)


免费jqGrid 4.13.1引入了新功能-基于
postData.filters
填充过滤器工具栏。看。该功能有一些bug,这些bug存在于您的案例中。这些错误在更高版本的免费jqGrid中得到修复

您可以通过使用
loadFilterDefaults:false
(通过使用
.jqGrid(“filterToolbar”、{loadFilterDefaults:false})
或通过将
搜索:{defaultSearch:{cn}
更改为
搜索:{defaultSearch:“cn”,loadFilterDefaults:false}
来关闭该功能。另一方面,我建议您更新到当前发布的免费jqGrid:4.13.5版本,或者使用GitHub的最新源代码

搜索选项
loadFilterDefaults:false
在许多情况下都非常实用。例如,可以同时使用过滤器工具栏和搜索对话框。如果在“过滤器”工具栏中设置一些过滤器,然后打开“搜索”对话框,则会在对话框中看到当前过滤器。您可以修改它并应用新过滤器。网格将显示新过滤器,但jqGrid的旧版本仍将在过滤器工具栏中显示旧过滤器。我发布了一篇文章,展示了如何根据当前使用的过滤器填充过滤器工具栏。如果使用了
filterToolbar
的默认
loadFilterDefaults:true
选项,新版本的免费jqGrid将自动刷新过滤器工具栏


还有其他常见的场景,
loadFilterDefaults:true
会有所帮助。例如,可以使用
loadonce:true
选项从服务器加载所有JSON数据。Free jqGrid允许将
loadonce:true
选项与
forceClientSorting:true
组合,在数据显示在网格中之前应用local排序和过滤。它允许加载所有数据,但只显示经过筛选和排序的数据,并在本地分页数据。要过滤数据,只需设置
filters
属性
postData
。通过使用
filterToolbar
和默认的
loadFilterDefaults:true
选项,用户将看到当前应用的过滤器,这可能会对用户有所帮助。

除非您在网格上手动调用refresh,否则不应清除搜索参数。你能用静态数据重现问题吗?是的,页面上没有太多其他代码,似乎不会再次重新加载。当然,搜索后需要重新加载以加载新数据。我想知道是否需要将搜索参数与数据一起从服务器传递回客户端?我为您制作了小提琴,您的代码运行良好:。注意:我用的是jqGrid 4.6.0,你可以试着在它里面上传4.13.1。谢谢,是的,我把freejqGrid的源代码放在那里(因为我也在制作小提琴),它在那里工作得很好。尽管本地数据有很大不同。我可以在问题代码中看到,当从服务器加载新数据时,搜索被清除。使用本地数据似乎没有太多的重新加载,但这可能只是因为它太快了。@jeffery_the_wind:您使用的是旧版本的免费jqGrid:4.13.1。您应该更新到免费的jqGrid 4.13.5或GitHub的最新代码。或者,您可以使用
filterToolbar
loadFilterDefaults:false
选项。您可以使用
搜索:{defaultSearch:“cn”,loadFilterDefaults:false}
更新到新版本,这样就可以在没有
loadFilterDefaults:false
选项的情况下工作。@jeffery\u the\u wind:这就是我的意思。新的默认选项
loadFilterDefaults:true
很好,但是4.13.1中引入的第一个实现包含一些bug。这些错误在以后的版本中得到修复。因此,我建议更新到版本4.13.5。只有当您现在无法将站点更新为最新的免费jwGrid时,才应使用
loadFilterDefaults:false
的解决方法。是的,我理解。我只是想让读者知道,这两种方法都会奏效。你在这件事上做得很好。
$('#jqGrid_destroyed').jqGrid({
    url:'/url.php',
    height: 'auto',
    shrinkToFit: true,
    width: Math.floor($(window).width()*1),
    datatype: 'json',
    mtype: 'POST',
    colNames:[
        'Flat ID',
        'Customer',
        'Flat #',
        'MiscCode',
        'Item Number',
        'Item Description',
        'plus',
        'RevDate',
        'Created Date',
        'Plate/Flat in QA',
        'Computer Files to Waiting Destruct',
        'Plates/Flat Destroyed',
        'Date Confimation Sent to Customer'
    ],
    colModel:[
        {name:'flat_id',hidden:true},
        {width:14,name:'Customer'},
        {width:10,name:'flat_plate_num'},
        {width:13,name:'MiscCode'},
        {width:20,name:'item_number'},
        {width:45,name:'item_description'},
        {width:12,name:'plus'},
        {width:16,name:'revdate'},
        {width:22,name:'created_date', align: "right", hidden:true},
        {width:17,name:'flat_in_qa'},
        {width:20,name:'computer_files_to_waiting_destruct'},
        {width:25,name:'flat_destroyed'},
        {width:20,name:'date_confimation_sent_to_customer', formatter : 'date', formatoptions : {srcformat: "Y-m-d", newformat:"m/d/Y"}}
    ],
    sortname: 'date_confimation_sent_to_customer',
    sortorder: 'desc',
    viewrecords: true,
    gridview: true,
    caption: 'Waiting Destruct',
    rowNum: 10000,
    pager:true,
    searching: { defaultSearch: "cn" }
}).jqGrid("filterToolbar");