0

私はmysqlデータベースからのデータを表示するためにjqueryデータテーブルとflexigridプラグインを調査してきました。私は両方のバージョンで、phpスクリプトからのデータベースからのデータを表示しています。だから、すべて大丈夫です。

ただし、フォームを追加して、開始日と終了日、タイプなどの複数の基準で検索を実行できるようにします。Flexiグリッドには基本的なフィルターがあります-私はdatatableについてあまり深く掘り下げていません。

プラグインを使用せずにこれを行うことはできますが、選択したデータグリッドに結果を表示してから、そのテーブル機能を使用したいと思います。これを行う方法についてのワークフローがよくわかりません。

フォーム送信のコールバックからflexigridまたはdatatableの作成を開始し、そのコールバックの結果を使用するにはどうすればよいですか?結果を変数に保存してプラグインに渡しますか?

私の質問が理にかなっていることを願っています。私は自分が何をしたいのかを知っていますが、それをどのように行うのかわかりません

私はphpで大丈夫です-javascriptへのnewsih

ありがとう

4

1 に答える 1

1

Flexigrid

フォームを作成し(たとえば、それを呼び出すsearchForm)、このデータをシリアル化して、Flexigrid検索パラメーターに渡すことができます。

次に、ボタンをクリックするだけで、フォームデータをFlexigrid実装に追加できます。

$(function () {
    $('#btnSearch').click(function () {
        addFormData();

        // Reload the grid from the URL, passing in search parameters from addFormData
        $('#flexGrid').flexOptions({ url: '/search/here/' }).flexReload();
    });
});

そして、このaddFormData関数はフォームからデータをシリアル化し、サーバーへのFlexigridコールバックのパラメーターに追加します。

function addFormData() {
    //Retrieve all input data from the searchForm
    var allSearchParams = $('#searchform').serializeArray();
    //Add the parameters to Flexigrid, so when it reloads, it will use them to filter the data
    $("#flexGrid").flexOptions({ params: allSearchParams });
    return true;
}

DataTables

DataTablesには、このすべての作業を実行するサーバー側のフィルタリングを備えた列フィルターのような便利なプラグインがあります。または、DataTablesのサーバー側の処理を確認することをお勧めします。

于 2013-01-14T17:48:51.807 に答える