グリッド直接編集時にクエリパラメータを追加する

次は、グリッド直接編集時にクエリパラメータをくっつける方法。

以下のサンプルでは、

param1 value1
param2 value2

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

<!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/i18n/grid.locale-jp.js"></script>
<script type="text/javascript" src="js/jquery.jqGrid.min.js"></script>

<script type="text/javascript">
function begin_edit()
{
	// 保存ボタンを押せるようにし、編集ボタンを押せないようにする
	$("#btn1").attr("disabled",true);
	$("#btn2").attr("disabled",false);
}

function end_edit()
{
	// 保存ボタンを押せないようにし、編集ボタンを押せるようにする
	$("#btn1").attr("disabled",false);
	$("#btn2").attr("disabled",true);
}

jQuery(document).ready(function()
{
	jQuery("#list").jqGrid({
		datatype: "local",
		colNames:['従業員番号', '名前'],
		colModel:[
			{name:'employee_no', editable:true},
			{name:'name'       , editable:true},
		],
		caption: 'グリッドを直接編集時にパラメータを追加する'
	});

	var mydata = [
		{employee_no:"1",name:"test1"},
		{employee_no:"2",name:"test2"},
		{employee_no:"3",name:"test3"},
	];

	for(var i=0;i<=mydata.length;i++)
		jQuery("#list").addRowData(undefined,mydata[i]);

	// 編集中の行ID
	var editting_id = null;

	// 選択した行データを編集状態にする
	jQuery("#btn1").click( function()
	{
		var grid = jQuery("#list");
		editting_id = grid.getGridParam("selrow");
		if( !editting_id )
		{
			alert("選択されてません");
			return;
		}

		grid.editRow(editting_id); 
		begin_edit();
	});

	// 編集を保存する
	$("#btn2").click( function()
	{
		if( !editting_id ) return;

		extra_param = {param1 : "value1", param2 : "value2"};

		jQuery("#list").saveRow(editting_id,
		                        null, 
		                        location.href,
		                        extra_param );
		editting_id = null;
		end_edit();
	});

	end_edit();
});
</script>
</head>
<body>

<table id="list" class="scroll" cellpadding="0" cellspacing="0"></table>

<p><button id="btn1">選択中の行を編集する</button></p>
<p><button id="btn2">保存</button></p>

</body>
</html>