jqgrid内联编辑显示html标签

时间:2012-07-11 00:21:40

标签: html jqgrid tags inline

我正在尝试使用jqgrid内联编辑功能。但是当内联编辑器被触发时,我得到了整个html标签。 enter image description here

可能是什么原因?感谢。

这是jqgrid代码:

$(document).ready(function () {

'use strict';
var grid;

grid = jQuery("#list2");
grid.jqGrid({

    editurl: "clientArray",
    datastr: topicjson,
    datatype: "jsonstring",
    height: "auto",
    loadui: "disable",
    colNames: [/*"id",*/"Items","nick","url"],
    colModel: [
    //{name: "id",width:1, hidden:true, key:true},
    {name: "elementName", width:250, resizable: false, editable: true},
    {name: "nick", width:250, resizable: false, editable: true},
    {name: "url",width:1,hidden:true}
    ],
    treeGrid: true,
    treeGridModel: "adjacency",
    caption: "jqGrid Demos",
    ExpandColumn: "elementName",
    //autowidth: true,
    rowNum: 100,
    //ExpandColClick: true,
    treeIcons: {leaf:'ui-icon-document-b'},
    jsonReader: {
    repeatitems: false,
    root: "response"
    },
    cellEdit: true,
    cellSubmit: "clientArray",
    onSelectRow: function(id){
    if(id && id!==lastSel){ 
    jQuery('#list2').restoreRow(lastSel); 
    lastSel=id; 
    }
    jQuery('#list2').editRow(id, true); 
    }   

});

});

1 个答案:

答案 0 :(得分:2)

事实证明,您可以在编辑前使用formatCell事件来更改单元格内容。返回值是您想要的内容。对于这种特殊情况,treeGrid具有小图像,其中包含单元格中的所有html标记。编辑单元格时,默认情况下,所有内容都显示为单元格内容。要修复它,你可以这样做:

  formatCell: function(rowid,cellname,value,iRow,iCol) {
    return whatever_you_want_to_be;
  }