私はjqgridとフォームを持っています。グリッドが更新されると、フォームの値をサーバー側のハンドラーに送信しようとしています。テストのために、フォームで変数を 1 つだけ使用しています。Firebug は、jqgrid がフィールド名を渡していることを示していますが、選択されているものに関係なく、値は常に null です。
jqgrid ドキュメントによると、postData 変数を使用してこれを処理する必要があります。
postData: {POINIT : jQuery('#POINIT').val()}
また、これをテストして、jQuery を呼び出して値を取得すると、グリッドが更新されたときだけでなく、ページの他の部分でも機能することを確認しました。
関連するコードは次のとおりです。
jQuery(document).ready(funcion(){
jQuery("#list").jqGrid({
url:'poquery.php',
datatype: 'json',
mtype: 'POST',
colNames:['PO Number ','Date','Vendor','Dept','Buyer','Terms'],
colModel :[
{name:'PONUMB', index:'PONUMB', width:65},
{name:'PODATE', index:'PODATE', width:70},
{name:'POVEND', index:'POVEND', width:70},
{name:'POIDPT', index:'POIDPT', width:70},
{name:'POINIT', index:'POINIT', width:70},
{name:'TERMS', index:'TERMS', width:70},
],
postData: {POINIT : jQuery('#POINIT').val()},
pager: '#pager',
rowNum:10,
rowList:[10,20,30],
sortname: 'PONUMB',
sortorder: 'desc',
viewrecords: true,
caption: 'Purchase orders'
}).navGrid('#gridpager',{view:false,edit:false,add:false, del:false},
{}, // use default settings for edit
{}, // use default settings for add
{}, // delete instead that del:false we need this
{multipleSearch : true}, // enable the advanced searching
{closeOnEscape:true}
);
});
どんな助けでも大歓迎です。