0

のjqGrid内でjQuery UI Autocompleteを使用しようとしてい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);
                }
            });
        }
   }}

そして、ondblClickRow私はselectパラメータのように渡している関数で:

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コールバックの間違った使い方だと思います。ondblClickRowcallbackの 2 番目のパラメーターは、グリッド内の行のインデックスです。あなたが使用できる他のオプションがあります。コールバックの最も完全なプロトタイプには、 ondblClickRow4 つのパラメーターが含まれています。

// 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の 3 番目のパラメーターはoneditfunccallback です。iRownumber をコールバックとして使用するのoneditfuncは間違っています。

于 2013-03-15T19:55:53.000 に答える