1

私は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} 
);

}); 

どんな助けでも大歓迎です。

4

1 に答える 1

7

I'm way late with this reply, but the trick is to use a function:

postData: {POINIT : function() { return $('#POINIT').val(); }}

于 2010-03-11T22:31:07.367 に答える