free-jqGrid filterToolbar 在之后删除搜索文本
free-jqGrid filterToolbar removes search text after
我已经开始使用此处提供的免费 jqGrid:https://github.com/free-jqgrid。我让它与 return XML 数据的旧服务器脚本一起使用。我以前使用的是旧版本的 jqGrid,我考虑升级到这个新的免费 jqGrid 版本。
我遇到的问题是在过滤器工具栏中。
$("#jqGrid").jqGrid('filterToolbar');
当我填写过滤器工具栏并按 ENTER 时,服务器请求成功发出,过滤后的数据看起来正确加载...但是我刚刚在工具栏中输入的词被清除干净。以前单词或短语会保留在那里,这是所需的操作。
我想知道是否可以选择将搜索短语保留在那里,或者我是否需要 return 来自服务器的特殊值?
谢谢!
这是网页代码:
<script src="/jqGrid/js/jquery-1.11.0.min.js"></script>
<script src="/CSS/blue_and_yellow/jquery-ui.min.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" media="screen" href="CSS/blue_and_yellow/jquery-ui.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.13.2/css/ui.jqgrid.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.13.2/js/jquery.jqgrid.min.js"></script>
<h1>Shipping History</h1>
<button id="back_to_shipping_menu">Back to Shipping Menu</button>
<table id="jqGrid"></table>
<div id="jqGridPager"></div>
<style type="text/css">
.ui-jqgrid-btable {
font-size: 14px;
}
</style>
<script type="text/javascript">
jQuery(function($){
$('#back_to_shipping_menu').button().click(function(){
window.location.href = "/index.php/operations/production/shipping"
});
var lastSel;
$("#jqGrid").jqGrid({
url:'/phpAJAX/Master/master_grid_v1.php',
postData:{
'arg1':'new_shipping_history'
},
height: 'auto',
shrinkToFit: true,
width: Math.floor($(window).width()*.78),
datatype: 'xml',
mtype: 'POST',
colNames:[
'row_id',
'Ship Date',
'Insert/Label',
'JobNum',
'Qnty Shipped',
'Ship_Type',
'Carrier',
'Time',
'Status',
'Confirm',
'Date Confirm',
'Customer'
],
colModel:[
{width:20,name:'row_id',hidden:true},
{width:20,name:'ship_date'},
{width:13,name:'insert_label'},
{width:13,name:'jobnum'},
{width:17,name:'Qnty_Shipped', formatter:'number', formatoptions: {decimalSeparator:".", thousandsSeparator: ",", decimalPlaces: 0, defaultValue: "0"}},
{width:20,name:'Ship_Type', edittype:'select'},
{width:25,name:'Carrier', edittype:'select'},
{width:20,name:'Time', edittype:'select'},
{width:20,name:'Status', edittype:'select'},
{width:10,name:'Ship_Confirm'},
{width:20,name:'ship_ts', formatter: 'date', formatoptions: { srcformat: 'Y-m-d H:i:s', newformat: 'm/d/Y'}},
{width:20,name:'Customer'}
],
sortname: 'ship_ts',
sortorder: 'desc',
viewrecords: true,
gridview: true,
caption: 'Shipping History',
rowNum: 20,
rowList:[20,50,100],
pager: '#jqGridPager'
});
$("#jqGrid").jqGrid('navGrid', '#jqGridPager', {edit:false,add:false, del: false, search: false, refresh:true});
$("#jqGrid").jqGrid('filterToolbar');
})
</script>
感谢您的错误报告!问题:我在免费的 jqGrid 中实现了基于当前过滤器恢复过滤器工具栏。该功能仅在 stringResult: true
模式的情况下有效,当 jqGrid 在一个 filters
参数(参见 here)内发送有关过滤器的所有信息时,就像在使用高级搜索的情况下(multipleSearch: true
).
在清理过滤器工具栏之后使用新功能进行旧版搜索。这是我在免费 jqGrid 的当前代码中修复的错误(参见 the commit)。如果您需要使用 4.13.2 版,那么您可以添加 loadFilterDefaults: false
选项,这将删除恢复过滤器:
$("#jqGrid").jqGrid('filterToolbar', { loadFilterDefaults: false });
我已经开始使用此处提供的免费 jqGrid:https://github.com/free-jqgrid。我让它与 return XML 数据的旧服务器脚本一起使用。我以前使用的是旧版本的 jqGrid,我考虑升级到这个新的免费 jqGrid 版本。
我遇到的问题是在过滤器工具栏中。
$("#jqGrid").jqGrid('filterToolbar');
当我填写过滤器工具栏并按 ENTER 时,服务器请求成功发出,过滤后的数据看起来正确加载...但是我刚刚在工具栏中输入的词被清除干净。以前单词或短语会保留在那里,这是所需的操作。
我想知道是否可以选择将搜索短语保留在那里,或者我是否需要 return 来自服务器的特殊值?
谢谢!
这是网页代码:
<script src="/jqGrid/js/jquery-1.11.0.min.js"></script>
<script src="/CSS/blue_and_yellow/jquery-ui.min.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" media="screen" href="CSS/blue_and_yellow/jquery-ui.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.13.2/css/ui.jqgrid.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.13.2/js/jquery.jqgrid.min.js"></script>
<h1>Shipping History</h1>
<button id="back_to_shipping_menu">Back to Shipping Menu</button>
<table id="jqGrid"></table>
<div id="jqGridPager"></div>
<style type="text/css">
.ui-jqgrid-btable {
font-size: 14px;
}
</style>
<script type="text/javascript">
jQuery(function($){
$('#back_to_shipping_menu').button().click(function(){
window.location.href = "/index.php/operations/production/shipping"
});
var lastSel;
$("#jqGrid").jqGrid({
url:'/phpAJAX/Master/master_grid_v1.php',
postData:{
'arg1':'new_shipping_history'
},
height: 'auto',
shrinkToFit: true,
width: Math.floor($(window).width()*.78),
datatype: 'xml',
mtype: 'POST',
colNames:[
'row_id',
'Ship Date',
'Insert/Label',
'JobNum',
'Qnty Shipped',
'Ship_Type',
'Carrier',
'Time',
'Status',
'Confirm',
'Date Confirm',
'Customer'
],
colModel:[
{width:20,name:'row_id',hidden:true},
{width:20,name:'ship_date'},
{width:13,name:'insert_label'},
{width:13,name:'jobnum'},
{width:17,name:'Qnty_Shipped', formatter:'number', formatoptions: {decimalSeparator:".", thousandsSeparator: ",", decimalPlaces: 0, defaultValue: "0"}},
{width:20,name:'Ship_Type', edittype:'select'},
{width:25,name:'Carrier', edittype:'select'},
{width:20,name:'Time', edittype:'select'},
{width:20,name:'Status', edittype:'select'},
{width:10,name:'Ship_Confirm'},
{width:20,name:'ship_ts', formatter: 'date', formatoptions: { srcformat: 'Y-m-d H:i:s', newformat: 'm/d/Y'}},
{width:20,name:'Customer'}
],
sortname: 'ship_ts',
sortorder: 'desc',
viewrecords: true,
gridview: true,
caption: 'Shipping History',
rowNum: 20,
rowList:[20,50,100],
pager: '#jqGridPager'
});
$("#jqGrid").jqGrid('navGrid', '#jqGridPager', {edit:false,add:false, del: false, search: false, refresh:true});
$("#jqGrid").jqGrid('filterToolbar');
})
</script>
感谢您的错误报告!问题:我在免费的 jqGrid 中实现了基于当前过滤器恢复过滤器工具栏。该功能仅在 stringResult: true
模式的情况下有效,当 jqGrid 在一个 filters
参数(参见 here)内发送有关过滤器的所有信息时,就像在使用高级搜索的情况下(multipleSearch: true
).
在清理过滤器工具栏之后使用新功能进行旧版搜索。这是我在免费 jqGrid 的当前代码中修复的错误(参见 the commit)。如果您需要使用 4.13.2 版,那么您可以添加 loadFilterDefaults: false
选项,这将删除恢复过滤器:
$("#jqGrid").jqGrid('filterToolbar', { loadFilterDefaults: false });