1. 程式人生 > 實用技巧 >用自定義的form表單對jqgrid資料進行檢索查詢

用自定義的form表單對jqgrid資料進行檢索查詢

資料如下:http://stackoverflow.com/questions/5819071/jqgrid-custom-form-to-search-data-select-box-problem


jqgrid提供了多種search方法,詳見jqgrid wiki文件http://www.trirand.com/jqgridwiki/doku.php?id=wiki:jqgriddocs

但是其提供的檢索框都是從表格grid彈出的,如下面兩個圖。

singe search:

fetch.php?media=wiki:simplesearch2.png

advanced search:

fetch.php?media=wiki:complexsearch.png

但是如果我們想要用傳統form表單來對jqgrid表格中的資料做檢索,像這樣(form和jqgrid兩個是隨意畫拼在一起,用來說明想達到的效果):

wKiom1SQ-gKDEznBAAH-WdsoJv0668.jpg

應該怎麼做呢?方法如下:

首先,form表單和jqgrid當然要寫好,此處不再贅述。

其次,用js為表單的查詢按鈕新增響應函式,取form輸入值,修改獲取資料引數,並用新的引數reload grid,如下:

$("#searchForm").submit(function(){
				varclient=$("#client").val();
				varamount=$("#amount").val();
				vartax=$("#tax").val();
				
				$("#list").jqGrid("setGridParam",
						{url:"${data?client="+client+
								"&amount="+amount+
								"&tax="+tax,page:1,datatype:"json"}).trigger("reloadGrid");
				
			});

伺服器後臺data路徑完成獲取引數後的查詢資料庫資料並轉為json格式即可。

注意,如果表單是拿form而非div寫的,當完成查詢後,form會自動提交使得整個頁面重新整理而非只修改jqgrid中的資料,導致查詢無效,因此要在form標籤中加入οnsubmit="return false;"避免form表單的自動提交。

轉載於:https://blog.51cto.com/mumufairy/1590966