2015-12-18 1 views
0

Это как я инициализировать DataTableDataTables настройки параметров по умолчанию

$('#example').dataTable({ 
    "columnDefs": [ { 
     "targets": 0, 
     "searchable": false 
    } ] 
}); 

Могу ли я сделать что-то вроде ниже?

var mytable = $('#example').dataTable(); 

mytable.columnDefs({ 
    "columnDefs": [ { 
     "targets": 0, 
     "searchable": false 
    } ] 
}); 

Это потому, что я хочу, чтобы определить инициализацию по умолчанию в файле JS, которые я включить в страницу, где мне нужно DataTables, но все еще быть в состоянии изменить несколько вариантов, чтобы иметь возможность настроить несколько вещь на каждой странице.

+0

ваши $ ('# пример'). DataTable() и mytable.columnDefs() равны .... Что вы пытаетесь достичь здесь? – khaled4vokalz

+0

columnDefs() нет таких атрибутов api в datatables – karmendra

ответ

1

Один из возможных способов я могу видеть, делать это:

Замените инициализацию DataTable с:

var mytable; 
function initialiseSpecificDatatable(options) { 
    mytable = $('#example').dataTable(options); 
    return mytable; // Return table so locally you can use it 
} 

Тогда где бы вы указать/изменить опции

var table = initialiseSpecificDatatable({ 
    "columnDefs": [{ 
     "targets": 0, 
     "searchable": false 
    }] 
}); 

Вы может захотеть добавить .destroy() в функцию создания, если вы хотите воссоздать таблицу. Чтобы сделать это, просто добавьте:

try { 
    $(mytable).DataTable().destroy(); //Note capital D to return a DataTable API (See API docs) 
} catch (e) { 
    // Fails if the table was not a DataTable at the time 
} 

В начале функции initialiseSpecificDatatable.

+0

В 'initialiseSpecificDatatable' таблица данных определена с существующими параметрами, я просто хочу добавить к ней опции, если она отсутствует, значение параметра обновления, если оно уже существует. Как вы передаете варианты, что он будет делать? – karmendra

+0

А это нормально, это не обновит данные. – JosephGarrone

1

This - это то, что я нашел для установки значений по умолчанию, и будет использоваться в качестве решения моей проблемы. (Проверьте использование jquery extend, который используется, чтобы объединить содержание объектов)

// Disable search and ordering by default 
$.extend($.fn.dataTable.defaults, { 
    searching: false, 
    ordering: false 
}); 

// For this specific table we are going to enable searching except on first (0th) column 
// (ordering is still disabled) 
$('#example').DataTable({ 
    searching: true, 
    columnDefs: [{ 
     "targets": 0, 
     "searchable": false 
    }] 
}); 

Благодарности

+0

Да, но вместо того, чтобы работать с dataTables по умолчанию, вы должны сделать копию и работать над этим -> 'var params = $ .extend ({}, $ .fn.dataTable.defaults);' теперь вы можете манипулировать параметрами 'без изменения исходных значений данных по умолчанию. – davidkonrad

 Смежные вопросы

  • Нет связанных вопросов^_^