2011-06-09 89 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" 
}); 
相關問題