2016-06-29 9 views
0

Ich bin neu in JavaScript und mir fehlen Kenntnisse Javascript-Objekte. Ich würde gerne wissen, wie ich die Erweiterung der Datatable 1.10-Schaltfläche hinzufügen kann einmal erstellt.So aktualisieren/hinzufügen Schaltflächen einmal instanziiert Datenfelder

Mein Code ist:

var table; 
$('#MyDiv').DataTable({someCode;}); 
$.fn.dataTable.ext.buttons.ok = { 
    text: 'OK', 
    action: function (e, dt, node, config) { 
     console.log("Hi"); 
    } 
}; 
table = $('#MyDiv').DataTable(); 
//!Here I want to add my button in table var! 
+0

Sie scheinen eine geschweifte Klammer am Ende Ihrer Definition der OK-Schaltfläche zu fehlen. Nicht sicher, ob das Teil Ihres Problems ist. – ManoDestra

+1

Danke, es gibt kein Syntaxproblem. – gvivetapl

Antwort

1

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.

+0

Es ist keine Option, weil Sie Datatable zusammen mit der Schaltfläche erstellen, und ich möchte Datatable erstellen und in einem anderen Teil des Codes die Schaltflächen hinzufügen/aktualisieren. – gvivetapl

+0

Warum möchten Sie die Schaltflächen an anderer Stelle als in der DataTables-Initialisierung hinzufügen? Sie verwenden die DataTables-Schaltflächenfunktion, sodass die Schaltfläche an die DataTable angehängt werden muss. Wenn Sie das nicht möchten, müssen Sie stattdessen eine Standard-JS-Schaltfläche hinzufügen. –