1

これは、ここで回答した質問に対するフォローアップの質問です。

jquery jtableカスタムクリックイベント

ボタンを押したときに単に alert() を実行するのではなく、listAction や DeleteAction のようなアクションをサーバーに戻す必要があります。

1) このカスタム アクションを起動するボタン クリックを設定するにはどうすればよいですか? 2) アラートの例 (data.record.tableID) のような値を渡すことはできますか?

このようなものですが、jTableAjax という関数名を作成しました。アクション ajax 呼び出しを開始するには、実際に類似した jtable 関数を知る必要があります。

            CustomAction: {
                    title: 'Refresh',
                    width: '1%',
                    sorting: false,
                    create: false,
                    edit: false,
                    list: true,
                    display: function (data) {
                        if (data.record) {
                            return '<button title="Refresh '+data.record.table+'"           class="jtable-command-button jtable-edit-command-button" onclick="jTableAjax('/myurlserverpath/myaction',' + data.record.tableID + '); return false;"><span>Refresh '+data.record.table+'</span></button>';
                        }
                    }
                }
4

2 に答える 2

1

最終的にajaxハンドラーに組み込まれたjqueryを使用してから、以下に示すようにjtableでリロードを行いました。

jtable customfield 定義で、独自の refreshTable 関数を呼び出します。

   display: function (data) {
                    if (data.record) {
                        return '<button title="Refresh'+data.record.table+'" class="jtable-command-button jtable-edit-command-button" onclick="refreshTable(data.record.table); return false;"><span>Refresh '+data.record.table+'</span></button>';
                    }

次に、jquery を使用して ajax リクエストを処理し、サーバー側のモジョを実行します。成功した場合は、jtable をリロードします。

function refreshTable(table) {
   $.post("/myurlpath/refreshTable", "table="+table,
       function(results)
       {
           $('#MyTableDiv').jtable('reload');
       }
       , "json");
 }

この投稿では、コードを読みやすくするために ajax エラー処理を省略しましたが、これは必要なもの (カスタム jtable ボタンからサーバーへの呼び出しを取得するため) を処理します。

于 2013-04-04T18:00:25.567 に答える