jqgrid userData在刷新时发布null

时间:2009-08-26 10:15:26

标签: javascript jquery jqgrid

我有一个jqgrid和一个表单。刷新网格时,我试图将表单的值发送到服务器端处理程序。为了测试,我只在表单中使用一个变量。 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} 
);

}); 

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:7)

我对这个回复迟到了,但诀窍是使用一个函数:

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