検索時にクエリパラメータを追加する

url パラメータにクエリパラメータをくっ付ける方法でも可能だけど、エスケープの問題とか色々と面倒なので、"postData" ってパラメータにセットすると楽ちんです。

以下のサンプルでは、検索時(ページ切り替え時や、ソート時も)に

user_id 555
status normal

というパラメータを追加したリクエストを送信するようになります。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>検索時クエリパラメータ追加サンプル</title>
  
<link rel="stylesheet" type="text/css" media="screen" href="css/jquery-ui-1.7.2.custom.css" />
<link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" />

<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/grid.loader.js"></script>
<script type="text/javascript">
jQuery(document).ready(function()
{
	jQuery("#list").jqGrid({
		url        : "test.json",
		mtype      : "POST",
		editurl    : "test.cgi",
		width      : 500,
		datatype   : "json",
		colNames   : ['従業員番号', '名前'],
		colModel   : [
			{name:'employee_no', editable:true},
			{name:'name'       , editable:true},
		],
		gridview   : true,
		rowNum     : 10,
		rowList    : [10,20,30],
		pager      : jQuery("#pager"),
		postData   : {user_id : "555", status : "normal"},
		caption    : '検索時クエリパラメータ追加'
	});

	// ナビゲーションバーの設定
	navi_opts = {
		edit          : false,
		add           : false,
		del           : false,
		search        : true,
		refresh       : false,
		view          : false,
		closeOnEscape : true
	};

	jQuery("#list").navGrid("#pager", navi_opts);
});
</script>
</head>
<body>

<table id="list" class="scroll" cellpadding="0" cellspacing="0"></table>
<div id="pager" class="scroll" style="text-align:center;"></div>

</body>
</html>