jqGrid多重搜索对话框配置
问题描述:
我正面临jqgrid多重搜索(php后端)的问题。搜索对话框不显示“+”(添加过滤器),除非我点击Reset按钮...jqGrid多重搜索对话框配置
这是代码:
jQuery("#poi_grid").jqGrid({
url:'php/retrieve_pois.php',
datatype: "json",
colNames:['Name', 'Region', 'Type','Website','PDF','Lat','Lon'],
colModel:[
{name:'name',index:'name', width:150},
{name:'region',index:'region', width:70},
{name:'type',index:'type', width:70},
{name:'website',index:'website', width:90,sortable:false,search:false},
{name:'pdf',index:'pdf', width:150,align:"right",sortable:false,search:false},
{name:'lat',index:'lat', width:60, sortable:false,search:false},
{name:'lon',index:'lon', width:60, sortable:false,search:false},
],
pager:'#pager',
rowNum:20,
rowList:[20,30,50],
sortname: 'name',
viewrecords: true,
sortorder: "asc"
});
//Pager
jQuery("#poi_grid").jqGrid('navGrid','#pager',
{edit:false,add:false,del:false,search:false,refresh:false}
)
//Custom buttons
.navButtonAdd('#pager',{
caption:"",
title:"Search",
buttonicon:"ui-icon search",
onClickButton: function(){
jQuery("#poi_grid").jqGrid('searchGrid',
{sopt:['eq','ne','cn','bw','bn']},
{multipleSearch:true}
);
},
position:"last"
});
这是我所得到的,当我打开搜索对话框(搜索工作正常,但我没有准备添加另一个过滤器):
当我点击在对话框的左下角,其余按钮(即使没有之前执行搜索)我看到了“正确”的结构的对话框和多个过滤器搜索工作:
如何解决并获得完整的对话框,而无需点击重置? 预先感谢您
答
您在致电searchGrid
时发生了错误。取而代之的
jQuery("#poi_grid").jqGrid('searchGrid',
{sopt:['eq','ne','cn','bw','bn']},
{multipleSearch:true}
);
你应该使用
jQuery("#poi_grid").jqGrid('searchGrid',
{sopt:['eq','ne','cn','bw','bn'], multipleSearch:true}
);
您与描述该问题“重置”按钮只是在jqGrid的的single field searching(详见here)的错误。由于searchGrid
的使用错误,multipleSearch:true
选项将被忽略,搜索对话框将用作single field searching。
答
看到这个。
jqGridObj = $('#poi_grid');
jqGridObj.navButtonAdd('#' + jqGridObj[0].id + '_toppager_left',{
caption:"",
title:"Search",
buttonicon:"ui-icon-search",
onClickButton: function(){
jqGridObj.jqGrid('searchGrid',
{sopt:['eq','ne','cn','bw','bn'], multipleSearch:true, showQuery: true}
);
},
position:"last"
});