【问题标题】:datatable custom dropdown for sort用于排序的数据表自定义下拉列表
【发布时间】:2018-05-17 16:45:00
【问题描述】:

我有以下下拉菜单。

<select name="sortBy" id="sortBy">
    <option value="0_asc" selected="selected">Reference #</option>
    <option value="0_desc">Reference # (desc)</option>
    <option value="pe-sku-column_asc">Part # (asc)</option>
    <option value="pe-sku-column_desc">Part # (desc)</option>
    <option value="pe-title-column_asc">Description (asc)</option>
    <option value="pe-title-column_desc">Description (desc)</option>
    <option value="pe-price-column_asc">Price (asc)</option>
    <option value="pe-price-column_desc">Price (desc)</option>
</select>

现在我想根据下拉选择对我的datatable 进行排序

我试过了

jQuery(document).ready(function ($) {
    var oTable = $('#super-product-table').DataTable({
        dom: 't'
    });

    $('#myInputTextField').keyup(function () {
        oTable.search($(this).val()).draw();
    })

    $("#sortBy").change(function () {

        oTable.fnSort([[1, 'asc']]);
    })
});

但它给了我

TypeError: oTable.fnSort 不是函数

我在datatable.js 中搜索了fnsort 并找到了它。

还有一件事,当我将 DataTable 更改为 dataTable 时,排序开始工作并且自定义搜索停止。

【问题讨论】:

标签: javascript jquery sorting datatable


【解决方案1】:

请参阅@davidkonrad 提供的the answer,了解dataTable()DataTable() 之间的区别。

如果您想使用 DataTable(),请将旧 API 方法 fnSort 替换为较新的 API 方法 order()。例如:

oTable.order([1, 'asc']).draw();

更多信息请参见conversion guide for DataTables 1.10

【讨论】:

    猜你喜欢
    • 2018-03-23
    • 2019-08-29
    • 2014-12-21
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多