0

我一直在探索 jquery 数据表和 flexigrid 插件来显示来自 mysql 数据库的数据。我有两个版本都显示来自 php 脚本的数据库中的数据。所以那里一切都好。

但是,我想添加一个表单以启用对标准的搜索,例如从日期、类型等多个标准。Flexi 网格有一个基本的过滤器——我没有深入研究数据表。

我可以在不使用插件的情况下执行此操作,但我希望我的结果显示在所选数据网格中,然后使用该表功能。我只是不确定如何执行此操作的工作流程。

如何从表单提交的回调中开始创建 flexigrid 或数据表,并使用该回调的结果?我是否将结果保存在变量中并将其传递给插件?

我希望我的问题是有道理的。我知道我想做什么,只是不知道怎么做

我对 php 没问题 - 从新闻到 javascript

谢谢

4

1 回答 1

1

弹性网格

您可以创建一个表单(例如调用它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 有方便的插件,例如Column Filter,它具有服务器端过滤功能,可以为您完成所有这些工作,或者我建议您阅读 DataTables server-side processing

于 2013-01-14T17:48:51.807 回答