2011-06-22 29 views
2

被設置我有以下代碼:的jqGrid「_search」參數不是URL

$("#perform_search").click(function() {  
    var postdata = $("#translationsList").jqGrid('getGridParam','postData'); 
    postdata._search = true; 
    postdata.searchString = $("#auto_complete_search").val(); 
    console.log('postdata._search: ' + postdata._search); 
    jQuery("#translationsList").trigger("reloadGrid", [{page:1}]); 
}); 

當我按一下按鈕ID爲perform_search所得網址爲下方,價值searchString=hello從文本拉

[domainname]/translations_feed.php?language_cd=EN& _search =假&nd=1308754288459&rows=20&page=1&sidx=phrase&sord=asc&searchString=hello

...,什麼是人聯黨:與auto_complete_search一個id字段發生的事情是URL字符串有_search=true,但正如您從示例URL中看到的那樣,傳遞的值是_search=false注意:第5行,其中我輸出值postdata._search到控制檯,控制檯顯示postdata._search: true爲預計,所以看起來像預期的那樣工作。

似乎所有其他params都通過很好。

UPDATE

看來,如果我第一次使用內置的搜索按鈕(在jqGrid的小放大鏡圖標),也就是正確地設置了「_search =真正的」參數 - 之後,我的按鈕工作正常。不知道這兩者之間的聯繫是什麼,但基本上,似乎我的參數仍然被忽略。例如,如果我通過放大鏡進行搜索,並更改我的javascript,以便LINE 5讀取postdata._search = false,它會通過_search=true(換句話說,LINE 5似乎完全被忽略)。

想知道如果我只是設置上postdata

回答

3

錯可變我回答一個已經closed question像你。問題是你應該在jqGrid本身上設置search參數,而不是試圖以這種方式改變postData。

換句話說,設置_searchtrue應的jqGrid的search參數設置爲true,而不是直接設置的postData任何屬性。同樣,您不應設置page參數postData。請使用rowNum參數。

所以,你的代碼應該是簡單得多:

$("#perform_search").click(function() {  
    $("#translationsList").jqGrid('setGridParam', { search: true, postData: { searchString:$("#auto_complete_search").val() } }); 
    jQuery("#translationsList").trigger("reloadGrid", [{page:1}]); 
}); 
+0

啊,謝謝。這個答案的組合,並提到你對另一個問題的答案,爲我照顧。我已爲您的答案添加了一個編輯,其中包含最終代碼和一些說明。 – jefflunt

+0

我會自己發佈編輯,但我還沒有編輯權限。 – jefflunt