Option 1
Der einfachste Weg, es (meiner Meinung nach) zu tun, ist die Option Form der Schaltfläche Erklärung zu verwenden, anstelle der Funktionsform Sie sind versuchen, hier zu verwenden. In Ihrem Fall, so etwas wie dies, dass aussehen würde:
table = $('#MyDiv').DataTable({
/*Other DataTables config options go here*/
buttons: [
{
text: 'OK',
action: function (e, dt, node, config) {
console.log("Hi");
}
}
]
});
Dies kann in den DataTables examples gefunden werden, die eine große Quelle für Informationen Tables ist.
Option 2
Wenn Sie stattdessen die Funktion Notation behalten möchten verwenden, dann würden Sie einfach eine Taste Erklärung zu den Optionen hinzufügen müssen statt der gesamten Aktion/Textblock, in dem obigen Beispiel ist. Siehe unten:
var table;
//You should not have 2 .DataTable() calls, so I removed this one
//Move any other options you had to the other call below
$.fn.dataTable.ext.buttons.ok = {
text: 'OK',
action: function (e, dt, node, config) {
console.log("Hi");
}
};
table = $('#MyDiv').DataTable({
/*Other DataTables config options go here*/
buttons: [
'ok'
]
});
So oder so funktionieren sollte, es kommt nur darauf an, wie Sie es vorziehen, Ihren Code zu organisieren.
Ich würde Sie auch auf die custom buttons documentation auf der DataTables-Website verweisen, um weitere Informationen zu erhalten oder um zu sehen, woher ich diese Codeblöcke habe.
Sie scheinen eine geschweifte Klammer am Ende Ihrer Definition der OK-Schaltfläche zu fehlen. Nicht sicher, ob das Teil Ihres Problems ist. – ManoDestra
Danke, es gibt kein Syntaxproblem. – gvivetapl