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

如何在不更新“搜索”输入字段的情况下手动搜索数据表

  •  0
  • jstuardo  · 技术社区  · 7 年前

    如果我手动呼叫:

    tabla.search('Advanced:' + search).draw();
    

    如果“tabla”是一个数据表,“search”输入字段用搜索文本更新。

    事实上,我正在使用同一字段实现高级搜索功能。

    若用户在搜索字段(简单搜索)中输入内容,网格将随着搜索自动刷新。这没关系。

    问题是,当使用“搜索”方法时,输入字段会随着搜索内容而更新。如果执行高级搜索,此文本将显示在字段中,例如:

    Advanced:Campo_1=936969&Campo_2=&Campo_4=&Campo_7=&Campo_3=&Campo_5=&Campo_6=&Campo_8=
    

    有没有办法避免要更新的搜索字段?

    谢谢 詹姆

    1 回复  |  直到 7 年前
        1
  •  0
  •   jstuardo    7 年前

    为此,我使用了以下dom定义:

               dom: "<'row'<'col-sm-12 col-md-4'<\"gridToolbar\">><'col-sm-12 col-md-4'l><'col-sm-12 col-md-4'<\"customSearch\">>>" +
                    "<'row'<'col-sm-12'tr>>" +
                    "<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>"
    

    然后,在draw.dt事件中,我添加了:

                $("div.customSearch").html('<div id="facturas_filter" class="dataTables_filter"><label>Buscar:<input type="search" class="form-control form-control-sm" placeholder="" aria-controls="facturas"></label></div>');
                $('#facturas_filter input').on('keyup', function () {
                    tabla.search($('#facturas_filter input').val()).draw();
                });
    

    干杯 詹姆