JQGRID从serializeCellData中的行返回所有单元格值

时间:2017-03-03 07:07:32

标签: jqgrid

我正在寻找一种方法,以便在每次用户编辑单元格时返回post元素中的所有行数据。

目前我有

serializeCellData: function( postdata ) 
{
    postdata[site.csrf.keys.name]  = site.csrf.name;
    postdata[site.csrf.keys.value] = site.csrf.value;
    postdata['po_id'] = id_po;

    postdata['product_code'] = $("#order_details_grid").jqGrid('getCell',irowsel,'product_code');
    postdata['description'] = $("#order_details_grid").jqGrid('getCell',irowsel,'description');
    postdata['account_code'] = $("#order_details_grid").jqGrid('getCell',irowsel,'account_code');
    postdata['qty'] = $("#order_details_grid").jqGrid('getCell',irowsel,'qty');
    postdata['price_each'] = $("#order_details_grid").jqGrid('getCell',irowsel,'price_each');
    postdata['gst_each'] = $("#order_details_grid").jqGrid('getCell',irowsel,'gst_each');
    postdata['price_total'] = $("#order_details_grid").jqGrid('getCell',irowsel,'price_total');
    postdata['gst_total'] = $("#order_details_grid").jqGrid('getCell',irowsel,'gst_total');
    return postdata; 
},

它主要起作用。但是,我刚编辑的一个单元格以html格式返回。

我可以更改控制器以获取帖子名称和值,以便它可以是更通用的代码。但是在这个阶段我只想传递每一个价值。

代码不会被大量使用,因此在这一点上,性能不是一个重要的考虑因素。

是否有一种简单的方法可以在编辑时获取单元格的值而不是html?

1 个答案:

答案 0 :(得分:0)

我建议您使用beforeSubmitCell代替serializeCellData来扩展信息,这些信息将发送到服务器。 beforeSubmitCell的第一个参数是rowid,返回值应该是具有其他属性的对象。例如,

beforeSubmitCell: function (rowid) {
    return $(this).jqGrid("getRowData", rowid);
}

此外,我建议您使用free jqGrid。从版本4.14.0开始,方法getCellgetRowData可以从编辑单元格中成功读取数据。