Во-первых, это сайт разработки, над которым я работаю. В настоящее время это находится в разработке, поэтому все может измениться еще до того, как вы ответите: http://wgarrisondev.mainstreethost.com/mage-product-redirects/public/
Вот мой код инициализации:
// DataTable editor plugin initialization
var editor = new $.fn.dataTable.Editor( {
ajax: function ( method, url, data, successCallback, errorCallback ) {
successCallback( {"id": 4} );
},
table: "#grid-basic",
dom: 'Tlfrtip',
fields: [ {
label: "Request URL:",
name: "request-url"
}, {
label: "Target URL:",
name: "target-url"
}, {
label: "Category:",
name: "category"
}
]
});
// DataTable Initialization
var dataTable = $('#grid-basic').DataTable({
responsive: true,
columns: [
{ data: "request-url" },
{ data: "target-url" },
{ data: "category" },
{ data: null, defaultContent: '<button type="button" class="btn btn-xs btn-danger icon-delete"><span class="glyphicon glyphicon-remove"></span></button>', orderable: false }
]
});
// TableTools DataTable plugin initialization
var tableTools = new $.fn.dataTable.TableTools(dataTable, {
"sSwfPath": swfPath,
"aButtons": [
"copy",
{
"sExtends": "collection",
"sButtonText": "Export",
"aButtons": ["csv", "xls", "pdf"]
}
]
});
$( tableTools.fnContainer() ).addClass('pull-right').insertBefore('div.dataTables_wrapper');
// Set up editing of fields
$('#grid-basic').on( 'click', 'tbody td:not(:last-child)', function () {
editor.inline( this );
} );
// Set up Removal functionality
$('#grid-basic').on('click', 'button.icon-delete', function() {
dataTable.row($(this).parents('tr')).remove().draw();
});
У меня действительно странное поведение. Кнопка Копировать не работает. Однако, если я выберу один из трех других вариантов, а ЗАТЕМ нажму «Копировать», все будет работать нормально. Все остальные варианты работают нормально.
Обновить -
Я определил, что любая кнопка, которую я не добавляю в коллекцию, не будет работать, пока я не нажму на коллекцию хотя бы один раз... до сих пор не знаю
Обновление 2. Итак, я добился определенного прогресса. Мое приложение сначала требует, чтобы вы выбрали тип магазина и домен. На данный момент таблица, которую я использую, скрыта простой встроенной строкой style="display: none"
. После создания URL-адреса jquery показывает таблицу со всеми ее полями. Если я не скрою свою таблицу в начале, все кнопки экспорта будут работать нормально. Тем не менее, что-то в том, что стол изначально спрятан, все портит. Очевидно, я не могу все время скрывать свой стол, поэтому я все еще пытаюсь понять, почему это происходит. У этого переполнения стека был менее оцененный ответ, который указал мне на правильное направление.