【问题标题】:Datatables modify filter html数据表修改过滤器html
【发布时间】:2014-03-13 03:56:07
【问题描述】:

我正在使用jQuery Datatables plugin,我想为过滤器自定义一些生成的 HTML。

具体来说,它们会生成以下 HTML:

<div class="dataTables_filter" id="example_filter">
<label>Search: <input type="text" aria-controls="example"></label>

但是,我希望我的 HTML 更像这样:

<div class="filter-search">
<label class="search-label">
    <input type="text" placeholder="Search by name" />
    <span class="search-icon"></span>
</label>

我环顾四周,只找到something about changing the class,但在这种情况下,我想改变的不仅仅是课程。

我确信我可以在表格加载后破解 DOM,但我希望有一些方法可以作为 Datatable 的配置/初始化的一部分。

【问题讨论】:

    标签: javascript jquery jquery-datatables


    【解决方案1】:

    在表加载后不搞乱 DOM,我认为没有办法“更改”为过滤器生成的标记数据表,而无需破解数据表插件本身。

    但是,一种不错的选择是简单地实现您自己的搜索过滤器。

    在数据表标记之外制作自定义过滤器:

    第 1 步:

    省略 sDom 参数的“f”部分https://datatables.net/usage/options

    第 2 步:

    为搜索字段编写自己的标记

    第 3 步:

    使用类似于此问题已接受答案的内容来实际过滤您自己的自定义搜索字段Datatables - Search Box outside datatable

    否则,您只需要为“f”生成的标记创建自定义 css 规则和/或移动它。

    【讨论】:

    • 在寻找这似乎是更可行的解决方案之一。最后我写了 3 行 JavaScript 来修改 DOM,我得到了我想要的。
    • 起初 sDom 看起来很有希望,但后来它只会影响周围的事物。制作插件是一种选择,但目前对我的需求来说更复杂。
    【解决方案2】:

    您可以通过修改数据表的oLanguage sSearch选项:

    $('#example').dataTable({
        oLanguage: {
            sSearch: '<i>Other Search Text</i>'
        }
    });
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多