如何在jqgrid中传输参数

时间:2013-04-22 07:12:21

标签: jquery url jqgrid

jQuery(function(){ 
var year        =   jQuery("#historyQuery").val();
var projectCode =   jQuery("#projectCode").val();

  jQuery("#list").jqGrid({
    hidegrid:false,
    height:300,
    pgbuttons:false,
    pginput:false,
    url:'index.php?option=com_projectdetails&view=details&task=ajaxdetails.getProjectDetails&format=xml',
    // editurl:'index.php?option=com_cwmaintain&view=incharge&task=ajaxincharge.editcwmaintain&format=xml',
    datatype: 'xml',
    mtype: 'post',
    colNames:['日期','凭证号','摘要','收入/拨出','支出/拨出','借还款'],
    colModel :[ 
      {name:'N3', index:'N3', width:110,sortable:false,editable:false}, 
      {name:'N4', index:'N4', width:110,sortable:false,editable:true,editrules:{required:true}},
      {name:'N5', index:'N5', width:110,sortable:false,editable:true,editrules:{required:true}},
      {name:'N7', index:'N7', width:110,sortable:false,editable:true,editrules:{required:true}},
      {name:'N6', index:'N6', width:110,sortable:false,editable:true,editrules:{required:true}},
      {name:'N6', index:'N6', width:110,sortable:false,editable:true,editrules:{required:true}},
    ],
    rowNum:20,
    reccount:10,
    viewrecords: true,
    gridview: true,
    pager: '#pager',
    caption: '部门负责人'                // jqgrid标题
  }); 
jQuery("#list").navGrid('#pager',{edit:false,add:false,del:false,search:true,refresh:true}); 
});

我想将名为 projectCode 的两个参数传递给getProjectDetails($year,$projectCode)的函数,我该怎么做?

2 个答案:

答案 0 :(得分:1)

静态地,您可以使用postData向请求添加参数,例如

jQuery("#list").jqGrid({   
...
postData:{year:year,projectCode:projectCode },

.... 动态地,您可以使用setGridParam方法并再次使用postData作为参数。 请参阅documentation page

答案 1 :(得分:1)

如果我理解正确,您应该在jqGrid中添加额外的postData选项,您可以将postData的属性定义为函数:

postData: {
    year: function () { return $("#historyQuery").val(); },
    projectCode: function () { return $("#projectCode").val(); }
}

如果来自"#historyQuery"$("#projectCode")当前值将在每次向服务器发出新请求时获得。重要的是要了解yearprojectCode 未附加到网址,因为您使用mtype: 'post'选项。参数将以与参数pagerowssidxsord_search相同的方式在请求正文中发送。

有关详细信息,请参阅the answer