在jqgrid中,如何在编辑单元格之前更改值?

时间:2012-07-06 14:20:28

标签: jquery jqgrid

我试图找出JQGrid中是否有一种很好的方法可以在编辑之前更改单元格的值。

我想要的是一个单元格包含一些数据和一些标记,所以值就是这样的

<div style="font-size:8px">10%</div><div style="font-size:10px">100</div>

但是当用户点击数据时我只想显示

10

目前,当我编辑它时,我会看到整个标记和所有内容,我想在编辑事件之前通过一些快速解析来隐藏它。

当我尝试更改

中的值时
beforeEditCell: function(rowid, cellname, value, iRow, iCol) 

setCell (rowid, colname, data, class, properties, forceup)

此更改似乎不会影响打开的输入字段中的内容。我的论点是输入字段产生的值可能在“beforeEditCell”被触发之前被置于一个变量中?

3 个答案:

答案 0 :(得分:2)

查看事件formatCell,jqGrid文档说:

  

仅适用于可编辑的单元格;此事件允许在编辑之前格式化单元格内容,并返回格式化的值

我认为这是达到你想要的最佳方式。

答案 1 :(得分:0)

使用,     unformat:function(cellvalue,options,rowObject){       返回单元格值;     },

向自定义unformat函数传递以下参数: cellvalue - 要取消格式化的值(纯文本)。 options - 是包含以下元素的对象 options:{rowId:rid,colModel:cm}其中rowId - 是行的id colModel是从jqGrid的colModel数组获取的此列的属性的对象 cellobject - 是一个jQuery单元格对象。该对象可用于从单元格元素中获取不同的东西 - 例如jQuery(cellobject).html()可用于获取html内容而不是文本。

答案 2 :(得分:-2)

我使用jquery来更改编辑单元格的值。

$("#cellid").val("10");