2017-02-13 1 views
0

私のアプリケーションでサーバーサイドの処理を行うjQuery DataTablesプラグインを使用しています。現在のところ、 ドキュメントが準備完了すると、テーブルは初期化され、データがロードされます。コードは次のようになります。DataTableはボタンクリックでデータを取得します

jQuery(document).ready(function() { 
    var table = DataTables.create("#projectTable", parameters, { 
        ajax: { 
         url: 'project/search.do', 
         data: function(d) { 
           d.numberOfColumns = 6 
           d.submittedOnStart = jQuery("#date1").val(), 
           d.submittedOnEnd = jQuery("#date2").val()       
         }, 
         dataSrc: "rows", 
         type: 'GET' 
        }, 
        columns: getColumns(), 
        "columnDefs": getColumnDefs() 
       }); 
}); 

これは問題なく動作します。しかし、テーブルをドキュメントの準備ができたら初期化するように変更したいのですが、データはボタンクリックで読み込まれます。私はLoad DataTable data through button Clickを調べましたが、私の場合はうまくいきません。これを行う方法はありますか?

+0

DataTable({/ * init options * /}); 'あなたの' doc.ready'関数の中には何がありますか? – mhodges

+0

返信いただきありがとうございます。その部分に何も間違っていません。それはうまくやっている。しかし、ボタンを押したときに既に初期化されたテーブルにデータをロードするにはどうすればよいですか? – rav

+0

ああ、私の謝罪、私はあなたの質問を誤解しました。私はあなたがドキュメントの準備をしてテーブルを初期化する方法を尋ねていると思っていました。私は '.reload()'があなたが探しているものだと信じています。 https://datatables.net/reference/api/ajax.reload() – mhodges

答えて

-2

.url.loadを使用して、ボタンをクリックしてテーブルを更新する。

jQuery(document).ready(function() { 
    var table = DataTables.create("#projectTable", parameters, { 
    ajax: { 
     url: 'project/search.donot', 
     data: function(d) { 
     d.numberOfColumns = 6 
     d.submittedOnStart = jQuery("#date1").val(), 
      d.submittedOnEnd = jQuery("#date2").val() 
     }, 
     dataSrc: "rows", 
     type: 'GET' 
    }, 
    columns: getColumns(), 
    "columnDefs": getColumnDefs() 
    }); 
    $('#thisbutton').click(function() { 
    // you can reload your data here. You can call a different file if you need to change the data returned 
    table.ajax.url("project/search.do").load(); 
    }); 
}); 
+0

"...このように**テーブルはドキュメント準備完了**で初期化されていますが、**データはボタンクリック**でロードされます** " – mhodges

+0

@mhodges - 彼の質問の下のコメントを読んで、彼は質問を正しく入力しませんでした。 「しかし、ボタンを押したときにすでに初期化されたテーブルにデータをロードするにはどうすればいいですか?」というタイトルは、「DataTableがボタンクリック時にデータを取得する」ことを反映します。 –

+0

これは各ボタンクリックでテーブルを開始します。私はページの読み込みにテーブルを開始し、ちょうどajaxコールをクリックして、ajax呼び出しからのjson応答でテーブルをロードするようにしています。 – rav

関連する問題