在jqgrid中发布不可编辑的值

时间:2011-05-19 08:17:39

标签: jqgrid

我正在使用jqgrid 3.8.2并且网格有许多不可编辑的列但仍希望发布到服务器。我怎么能这样做? (如果我设置editable:false,那么该字段不会被发布到服务器上)

4 个答案:

答案 0 :(得分:7)

在我看来,列设置

hidden: true, editable: true, editrules: { edithidden: false }

会做你需要的。

答案 1 :(得分:7)

我意识到这个问题现在已经很老了,但今天我需要做同样的事情,而且接受的答案实际上并没有回答这个问题。对不起奥列格,你还是很棒。无论如何,如果您有可见的列并且正在进行内联编辑,其中某些列不可编辑,则以下内容适用于我。

使用这些列设置

editable: true, edittype: 'custom', editoptions: { custom_element: readOnlyElement, custom_value: readOnlyValue}

并定义这些功能

function readOnlyElement(value, options) {
    return $('<span></span>', { text: value });
},

function readOnlyValue(elem, operation, value) {
    if (operation === 'get') {
        return $(elem).text();
    } else if (operation === 'set') {
        $('span', elem).text(value);
    }
}

答案 2 :(得分:1)

关于“可编辑:“隐藏”” ...
除非您更改单元格的内容,否则此方法是完美的。使用'editable:'隐藏的'',jqgrid不包含 <input /> ,但不包含 aria-describedby ,这很容易定位。 例如:

没有'editable:“ hidden”“
您可以通过输入的'id'==>'$("#yourgrid #jqg3_your_field")

定位输入

带有'editable:'隐藏的'您可以像这样定位... 您需要当前的行ID

rowID = $("#yourgrid").jqGrid('getGridParam', 'selrow');

$("tr[id='"+rowID+"'] [aria-describedby='yourgrid_your_field']>.u-jqgrid-cell-wrapper").html()

不那么方便了:-)
尽管一切正常,它仍然运行良好;-)

答案 3 :(得分:0)

我在@ singe3的Oleg回答的评论中看到了答案。 集,

editable: "hidden"