2010-01-07 61 views
1

   我一直在玩jqGrid,但無法找出如何實現搜索功能。理想情況下,我想使用「高級搜索」 - 我想當用戶提交高級搜索表單時,輸入的數據會被觸發到'editurl'下特定的網址?我猜這個URL然後輸出使用搜索條件過濾的結果集。

我的問題是,這是如何實際完成的?我是否正確地將URL數據發送到了,如果有的話,如何訪問這些數據?

在jQuery中相當體面,擅長JavaScript-我使用PHP的所有服務器端的東西(專家知識和mySQL),但不能爲我的生活似乎工作了這一點......目前我的Java是:

如何使用jqGrid高級搜索/ w Serverside PHP?

var lastsel; 
$("#list").jqGrid({ 
    url:'example.php', 
    datatype: 'xml', 
    hidegrid: false, 
    mtype: 'GET', 
    colNames:['id','ti', 'na','al','de'], 
    colModel :[ 
     {name:'id', index:'id', width:55, hidden:true, key:true, resizable:true}, 
     {name:'ti', index:'ti', width:75, resizable:true,editable:true}, 
     {name:'na', index:'na', width:200, align:'left', resizable:true,editable:true}, 
     {name:'al', index:'al', width:200, align:'left', resizable:true,editable:true}, 
     {name:'de', index:'de', width:400, align:'left', sortable:false, resizable:true,editable:true} 
    ], 
    pager: '#pager', 
    height:'100%', 
    rowNum:10, 
    searchGrid: {multipleSearch:true, caption : 'go'}, 
    rowList:[50,100,200], 
    sortname: 'ticker', 
    sortorder: 'asc', 
    viewrecords: true, 
    editurl:'example.php', 
    multipleSearch:true, 
    caption: 'Definitions' 
}); 



所有幫助非常感謝!

回答

0

正如您所說,URL包含搜索信息。

但是,搜索不是在客戶端進行,你必須在你的服務器端實現它。

而你發佈的代碼不是Java,是JavaScript。

+0

感謝您的回覆,並表示歉意,Java是一個用詞不當 - 我知道它的Javascript(如最初指出)。 我知道你可以使用$ _GET ['Oper'](和類似的)在php中獲取搜索條件,術語等,但是高級搜索如何表示/傳遞數據?我想它在一個數組中,但該數組是如何構造的? (即序列化等)。 – Sam 2010-01-08 10:32:51

+0

我沒有找到任何searchGrid的文檔(在你的例子中使用過)。但在http://trirand.com/blog/jqgrid/jqgrid.html中有使用php進行搜索的演示。你看了一下嗎? – 2010-01-08 17:11:57

1

我不知道你是否在任何地方找到你的答案,但我只是做了它,我可以幫你一點。

他們傳遞一個名爲filters的參數。是一個JSON ...你必須將它作爲請求接收並將其轉換爲數組。

我使用php工作,所以我使用了一個名爲json_decode($ yourvar,true)的函數。它將數組中的過濾器進行了轉換。該數組更容易操作。

0

我只是想學這個,不過我建議你在檢查出自己的PHP搜索演示: http://www.trirand.com/blog/jqgrid/jqgrid.html

在左側,打開手風琴選項卡,然後去到現場數據操作,然後點擊「搜索數據」。您將看到現場示例以及代碼。這個特殊的例子使用XML而不是JSON。

在他們的例子中,我不明白他們是如何將搜索變量傳遞給php代碼的:它只是發生。如果它是json,我知道它會在URL中。

在任何情況下,我都可以看到數據以與普通網格填充方法相同的方式返回到HTML頁面:它使用XML格式返回到jqGrid,並且jqGrid知道如何以該格式獲取數據並與它一起運行。

希望有所幫助。