类似setCell的东西,用于JqGrid中的表单编辑

时间:2011-12-21 22:52:49

标签: javascript jquery asp.net jqgrid

好的,我一直在寻找@Oleg的答案,但我找不到任何答案。我有这个网格,可以在线编辑,在某些领域,我正在使用自动完成,当我选择一些项目时,我使用setCell,在另一个字段中写入值。我的专栏模型是这样的......

{ name: 'Label', index: 'Label', width: 100, align: 'Center', sorttype: "string",
    editable: true, editrules: { required: true },
    editoptions: {
        dataInit: function (elem) {
            $(elem).autocomplete({
                autoFocus: true,
                source: function (request, response) {
                    PageMethods.ObtLabels(request.term, function (data) {
                        var tiposCliente = (typeof data) == 'string' ?
                                           eval('(' + data + ')') : data;
                        response(tiposCliente);
                    }, fnLlamadaError);
                },
                minLength: 1,
                select: function (event, ui) {
                    var rowid = $('#pendientes').getGridParam('selrow');
                    **jQuery('#pendientes').setCell(rowid, 'LabelId', ui.item.id);**
                }
            });
        }
    }
},

这项工作在编辑和添加内联时很好但是,当我想用​​Form添加或编辑一行时,我无法在另一个字段中写入该值。

我不知道我的问题是否清楚。我只是想在“X”字段中写一些东西,这取决于我在“Y”字段中选择的操作。所有这些都使用表格。

如果有人可以帮助我,那就太好了。

非常感谢!

更新和解决方案:

我只需在代码中添加下一行:

$( '输入#LabelId')VAL(ui.item.id);

它的工作,我在LAbelId中写下所选项目的值

最后我的自动填充列的代码是这样的:

{ name: 'Label', index: 'Label', width: 100, align: 'Center', sorttype: "string",
    editable: true, editrules: { required: true },
    editoptions: {
        dataInit: function (elem) {
            $(elem).autocomplete({
                autoFocus: true,
                source: function (request, response) {
                    PageMethods.ObtLabels(request.term, function (data) {
                        var tiposCliente = (typeof data) == 'string' ?
                                           eval('(' + data + ')') : data;
                        response(tiposCliente);
                    }, fnLlamadaError);
                },
                minLength: 1,
                select: function (event, ui) {
                    var rowid = $('#pendientes').getGridParam('selrow');
                    jQuery('#pendientes').setCell(rowid, 'LabelId', ui.item.id);
                    **$('input#LabelId').val(ui.item.id);**
                }
            });
        }
    }
},

1 个答案:

答案 0 :(得分:0)

好的,我找到了答案,我只是添加下一行......

$('input#ClienteProveedor').val(ui.item.id);

将ui.item.id写入我想要的“Y”字段。