$ .fn.dataTableExt.aoFeatures.push изменить настройки - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть код ниже

$.fn.dataTableExt.aoFeatures.push({
    "fnInit": function (oSettings) {
        oSettings.oScroll.sY = 5;
        return  { "oSettings":  oSettings } ;
      },
    "cFeature": "T"
});

$.extend($.fn.dataTable.defaults, {
       //"scrollY": 5,
       "dom":"T"
    });

Я могу видеть, что scrollY изменился в функции, но не влияет на данные, Как можно перезаписать настройки по умолчанию с помощью этой функции, так как я должен поставить условие на tableid,

в противном случае я мог бы сделать следующий способ, который работает

 $.extend($.fn.dataTable.defaults, {
           "scrollY": 5,

        });

Я полагаю, что я упустил что-то в операторе возврата, который переопределит вещи

ссылка на скрипку

1 Ответ

0 голосов
/ 21 декабря 2018

Ваш код не работает по нескольким причинам.Во-первых, вы используете устаревший API.$.fn.dataTableExt.aoFeatures.push - это старый API, используемый с $(...).dataTable().Используя $(...).DataTable() (обратите внимание на заглавную букву «D»), как вы делали в скрипте, вы выбираете использовать новый API.(Прочитайте о преобразовании кода с использованием старого API для использования нового API здесь .) Использование текущего API - отличный выбор, но затем вам необходимо использовать $.fn.dataTable.ext.feature.push для настройки вашей функции.

Это работает:

$.fn.dataTable.ext.feature.push({
    "fnInit": function (settings) {
        settings.oScroll.sY = 25;
      },
    "cFeature": "T"
});

Однако функция dom предназначена для указания порядка элементов в таблице.Использовать его для установки стиля, подобного scrollY, можно, но не совсем то, что они имели в виду.Дело в том, что если вы вообще хотите указать dom, вам нужно указать все элементы, которые вы хотите.В частности, вы должны указать t для таблицы, иначе DataTable вообще не будет присоединяться к таблице.Таким образом, вам нужно настроить свой стол на что-то вроде этого, чтобы вызвать scrollY «функцию»:

$(document).ready(function() {
    var table = $('#example').DataTable({
        "dom":"Tlftip"
    });

Обратите внимание, что порядок имеет значение.Буква «Т» должна предшествовать другим элементам, на которые влияют изменения, внесенные в функцию."dom":"lftipT" не будет иметь желаемого эффекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...