0

我正在尝试在dataInit. 我这样做是这样的:

{ name:'ac_fin_g', index:'ac_fin_g', width:75, editable: true, edittype: 'text',
    editoptions: {
        dataInit: function (elem) {
            $(elem).autocomplete({
                source: 'autocomplete.php',
                select: function (event, ui) {
                    #('ac_fin_g').val(ui.item.value);
                }
            });
        }
   }}

在函数中ondblClickRowselect像参数一样传递:

ondblClickRow: function (id, select) {
    if (id) {
        if (id !== lastSel) {
            $('#list').restoreRow (lastSel);
            $('#list').editRow (id, true, select);
            lastSel = id;
        } else {
            $('#list').restoreRow (lastSel);
            lastSel = "";
        }
    }
}

这是有效的,但仅适用于第一行。

4

1 回答 1

1

我认为你的问题的主要原因是ondblClickRow回调的错误使用。callback的第二个参数ondblClickRow是网格中行的索引。您可以使用其他选项。最完整的ondblClickRow回调原型包含4个参数:

// one can use ondblClickRow: function (id) { below because iRow, iCol, e are not used
ondblClickRow: function (id, iRow, iCol, e) {
    var $self = $(this);
    if (id !== lastSel) {
        $self.jqGrid("restoreRow", lastSel);
        lastSel = id;
    }
    $self.jqGrid("editRow", id, true);
}

editRow的第三个参数是oneditfunc回调。使用iRow数字作为oneditfunc回调是错误的。

于 2013-03-15T19:55:53.000 回答