11

我目前正在寻找一种方法来向 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>

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

4

3 回答 3

17

查看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/

于 2013-05-20T08:59:27.923 回答
17

我正在使用 DataTable 1.10.2,我使用:

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

我通过扩展函数而不是 jquery。

于 2014-08-17T19:04:28.133 回答
3

这也可以通过使用 fnDrawCallback 的 jQuery 轻松完成。在这里,我为 Bootstrap 的样式添加了两个类

fnDrawCallback: function( oSettings ) {
$('div#oTable_length select, div#oTable_filter input').addClass("form-control input-sm");
},
于 2014-03-18T14:53:38.867 回答