2011-06-09 90 views
2

我正面临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" 
}); 

这是我所得到的,当我打开搜索对话框(搜索工作正常,但我没有准备添加另一个过滤器):

当我点击在对话框的左下角,其余按钮(即使没有之前执行搜索)我看到了“正确”的结构的对话框和多个过滤器搜索工作:

如何解决并获得完整的对话框,而无需点击重置? 预先感谢您

回答

3

您在致电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

2

看到这个。

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" 
}); 
相关问题