我试图找出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”被触发之前被置于一个变量中?
答案 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");