2011-06-13 103 views
0

我正在使用自定義搜索按鈕來執行多重搜索。 看螢火似乎有向服務器發送jqGrid空搜索選項

_search true 
filters {"groupOp":"AND","rules":[{"field":"name","op":"bw","data":"A"}]} 
nd 1307956101759 
page 1 
rows 20 
searchField 
searchOper 
searchString 

請求中缺少參數時,我用的是默認的搜索按鈕,所有參數都正確增值的和搜索返回匹配的行。

jQuery("#poi_grid").jqGrid({ 
    url:'php/retrieve_pois.php', 
    editurl:'php/edit_pois.php', 
    datatype: "json", 
    colNames:['Name', 'Region', 'Type','Website','PDF','Lat','Lon'], 
    colModel:[ 
     {name:'name',index:'name', width:150, search:true, editable:true}, 
     {name:'region',index:'region', width:70, search:true, editable:true}, 
     {name:'type',index:'type', width:70, search:true, editable:true}, 
     {name:'website',index:'website', width:90,sortable:false,search:false, editable:true}, 
     {name:'pdf',index:'pdf', width:150,align:"right",sortable:false,search:false, editable:true}, 
     {name:'lat',index:'lat', width:60, sortable:false,search:false, editable:true}, 
     {name:'lon',index:'lon', width:60, sortable:false,search:false, editable:true}, 
    ], 
    pager:'#pager', 
    rowNum:20, 
    rowList:[20,30,50], 
    sortname: 'name', 
    viewrecords: true, 
    sortorder: "asc", 
    height:259, 
    onSelectRow: function(id){ 
     if(id && id!==rowid){ 
      jQuery('#poi_grid').restoreRow(rowid); //restore last grid row 
      rowid=id; //save current row ID so that when focus is gone it can be restored 
     } 
    } 
}); 
//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" 
}); 

我在做錯事......但是什麼?先謝謝你!

回答

0

我不認爲請求中有什麼遺漏,但sidx=namesord=asc將被髮送但未包含在您的數據中。

因爲您使用searchGridmultipleSearch:true選項,所有關於搜索參數的信息都在filters參數中進行編碼,對應於the documentation。在multipleSearch:fasle的情況下使用的空參數「searchField =」,「searchString =」和「searchOper =」應該被忽略。

+0

sidx和sord被髮送......我錯過了將它們複製到我的第一條消息中,對不起。 我仍然在努力爲多重搜索找到解決方案,但我不明白如何(以及在​​哪裏)設置過濾器。你能告訴我一個代碼示例嗎?謝謝 – alessiodl 2011-06-15 07:12:32

+0

@alessiodl:你不會寫下你想要的東西。可能[答案](http://stackoverflow.com/questions/5749723/jqgrid-filtering-records/5750127#5750127)或[另一個](http://stackoverflow.com/questions/5272850/is-there- an-api-in-jqgrid-add-advanced-filters-to-post-data/5273385#5273385)給你提供了缺失的信息?如果你正在尋找別的東西,你應該更確切地指定它。 – Oleg 2011-06-15 07:23:10

+0

可能我沒有這麼好解釋這個問題。使用multipleSearch:true搜索功能停止工作,我不明白我是否需要添加一些東西到第一篇文章中報告的網格代碼。 我要檢查你鏈接的答案! Thx – alessiodl 2011-06-15 08:13:43