datatables将类添加到过滤器

时间:2013-05-20 08:47:51

标签: jquery html datatable bootstrap-4

我目前正在寻找一种方法来为jQuery数据表过滤器添加额外的自定义类(每页记录搜索

这些项目呈现如下:

<div id="DataTables_Table_0_length" class="dataTables_length">
    <label>
        <select size="1" name="DataTables_Table_0_length" 
                aria-controls="DataTables_Table_0">
            <option value="10" selected="selected">10</option>
            <option value="25">25</option><option value="50">50</option>
            <option value="100">100</option>
        </select>
        records per page
    </label>
</div>

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

有谁知道我怎样才能最好地为每个人增加一个额外的课程?有些建议会像往常一样非常感激。

3 个答案:

答案 0 :(得分:13)

结帐http://legacy.datatables.net/styling/custom_classes。 DataTables有一种稍微复杂的方法来覆盖某些核心元素的CSS类。这是一种方式

$(document).ready(function() {
    var extensions = {
        "sFilter": "dataTables_filter custom_filter_class",
        "sLength": "dataTables_length custom_length_class"
    }
    // Used when bJQueryUI is false
    $.extend($.fn.dataTableExt.oStdClasses, extensions);
    // Used when bJQueryUI is true
    $.extend($.fn.dataTableExt.oJUIClasses, extensions);
    $('#example').dataTable();
});

在此处查看一个有效的示例:http://jsfiddle.net/k2ava/3/

答案 1 :(得分:13)

我正在使用DataTable 1.10.2并使用:

$.extend( $.fn.dataTableExt.oStdClasses, {
    "sFilterInput": "form-control",
    "sLengthSelect": "form-control"
});

我通过extend函数而不是jquery。

答案 2 :(得分:2)

使用fnDrawCallback也可以使用jQuery轻松完成。在这里,我为Bootstrap

添加了两个类
fnDrawCallback: function( oSettings ) {
$('div#oTable_length select, div#oTable_filter input').addClass("form-control input-sm");
},
相关问题