Что-то вроде setCell для редактирования формы в JqGrid - PullRequest
1 голос
/ 22 декабря 2011

Хорошо, я искал ответ во многих ответах @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);**
                }
            });
        }
    }
},

это прекрасно работает при редактировании и добавлении встраивания, но когда я хочу добавить или отредактировать строку с помощью формы, я не могу записать значение в другое поле.

Я не знаю, понятен ли мой вопрос. Я просто хочу написать что-нибудь в поле «X», в зависимости от выбора, который я выбрал в поле «Y». Все это с помощью формы.

Если кто-то может мне помочь, было бы здорово.

Спасибо большое!

ОБНОВЛЕНИЕ И РЕШЕНИЕ:

Я просто добавляю следующую строку в мой код:

$ ( '# вход LabelId') Вал (ui.item.id).

И его работа, с которой я пишу в LAbelId значение выбранного элемента

в конце кода el для моей колонки с автозаполнением что-то вроде этого:

{ 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 голосов
/ 22 декабря 2011

Хорошо, я нашел ответ, я просто добавил следующую строку ...

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

это записывает ui.item.id в поле "Y", которое я хотел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...