Javascript 使用格式化程序进行JqGrid内联编辑

Javascript 使用格式化程序进行JqGrid内联编辑,javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,我有这个模型 { name: 'CostShare', index: 'CostShare', width: 50, formatter: 'number', formatoptions: { decimalPlaces: 2, suffix: "%" }, resizeable: true, align: 'center', editable: true, edittype: 'text', editOptions: { number: true} } 这将从1的源数据生成格式化值1.00%

我有这个模型

{ name: 'CostShare', index: 'CostShare', width: 50, formatter: 'number', formatoptions: { decimalPlaces: 2, suffix: "%" }, resizeable: true, align: 'center', editable: true, edittype: 'text', editOptions: { number: true} }
这将从1的源数据生成格式化值1.00%。问题是,当我进行内联编辑时,它会将格式化数据转换为文本框。它创造了

<td aria-describedby="AdminCostTable_CostShare" title="1.00%" style="text-align: center;" role="gridcell"><input type="text" style="width: 98%;" id="1_CostShare" name="CostShare" role="textbox" class="editable"></td>

当您退出关闭编辑“会话”时,它可能会再次尝试重新格式化,并将1.00%转换为NaN。我必须手动取消对数据的格式化,还是网格不应该这样做?

您是否在代码中手动调用editRow()?如果是,请尝试事先调用restoreRow()

我必须使用

         unformat: unformatPercent

钩在模型中。似乎默认格式选项应该自动取消格式化。如果只是我做了一些奇怪的事,请告诉我。否则,这就是答案。

我会调用editrow和restoreRow。我必须添加一个不可格式化的函数,这有点令人讨厌。