0

このグリッド専用のスクリプトを使用したインライン編集で動作するjqGridがありました。サーバースクリプトを整理して統合しようとしているので、サーバーでのインライン編集に新しいスクリプトを使用したいと思います。この新しいスクリプトを使用するには、インライン編集時にスクリプトに追加のPOST変数を渡す必要があります。インライン編集中に追加データをサーバーにPOSTする方法がわかりません。

フォーム編集では、editData属性を使用して、編集フォームに追加のPOSTデータを含めます。jqGridのドキュメントで、パラメーターを使用して追加のPOSTデータを渡すことができる可能性があることを読みましたextraparams。構文が正しくないようです。

これは私が持っているものであり、機能していません:

$('#list').editRow(
        id,
        true,
        function(){
            $('input[name=customer]').autocomplete({source:customerlist});
            today = new Date();
            $('input[name=date]').val(today.getFullYear() + '-' + (today.getMonth()+1) + '-' + today.getDate());
        },
        extraparams={
            'arg1':'daily_folding_reports'
        }
    );

listグリッドのIDはどこにありますか。オートコンプリートを追加する関数はEDITで正しく起動していますが、extraparams正しく組み込まれていません。これの正しい構文は何ですか?

ありがとう!

4

1 に答える 1

2

editRowの位置形式を使用する場合、呼び出しは次のようになります。

$("#list").jqGrid('editRow', id,
    true,
    function () {
        $('input[name=customer]').autocomplete({source:customerlist});
        today = new Date();
        $('input[name=date]').val(today.getFullYear() + '-' +
            (today.getMonth()+1) + '-' + today.getDate());
    },
    null,
    null,
    { arg1: 'daily_folding_reports' });

私は個人的に、パラメーターの数を減らすことができるeditRowの使用法の別のものを好みます。null

$("#list").jqGrid('editRow', id, {
    keys: true,
    oneditfunc: function () {
        $('input[name=customer]').autocomplete({source:customerlist});
        today = new Date();
        $('input[name=date]').val(today.getFullYear() + '-' +
            (today.getMonth()+1) + '-' + today.getDate());
    },
    extraparam: { arg1: 'daily_folding_reports' }
});

フォームの方が読みやすいと思います(たとえば、回答を参照してください)。

于 2012-09-14T20:50:34.247 に答える