代码之家  ›  专栏  ›  技术社区  ›  Sun

手动触发jquery Datatable搜索

  •  1
  • Sun  · 技术社区  · 8 年前

    我使用Javascript数据表进行服务器端搜索。

    因此:

    var table = $('#myTable').DataTable({
                    responsive: true,
                    serverSide: true,
                    ajax: {
                        url: myUrl,
                        dataSrc: ''
                    },
                    fnServerData: function (sSource, aoData, fnCallback, oSettings) 
                    {
                        oSettings.jqXHR = $.ajax({
                            url: myUrl,
                            success: function (json, status, xhr) {
                                //Do stuff
                            }
                        });
                    }    
                });
    

    我使用表单上设置的选项动态构建url。

    我希望表单上有一个按钮,以便手动触发fnServerData函数。目前,我必须在包含的搜索框中键入内容。

    例如 <button ng-click="model.search()">Search</button>

    这可能吗?

    谢谢

    3 回复  |  直到 8 年前
        1
  •  4
  •   Mauri    8 年前

    下面是我用来刷新数据表的代码

     var table = $("#gridId").dataTable();
    //if you want to add extra parameters in the query
    /*table.fnSettings().ajax.data = function (d) {
                $.extend(d, jsonPostData);
            };
    */
    table.fnDraw(false);
    
        2
  •  2
  •   Sun    8 年前

    我找到了一个解决方案:

    var oTable = $('#myTable').dataTable();
    oTable.fnFilter('');
    
        3
  •  0
  •   HasanG Joe Dabones    5 年前

    对于最新的DataTable,您需要使用以下命令来触发服务器端调用:

    table.draw();
    
    推荐文章