J'utilise Data table avec Button. Je veux montrer le bouton Réussite plutôt par défaut. J'ai essayé ce code
buttons: [
{
extend: "Excel",
className: "btn-sm btn-success",
titleAttr: 'Export in Excel',
text: 'Excel'
}]
Ce code fonctionne mais cela ajoute la classe btn-success, mais je veux d'abord supprimer la classe btn-default, puis ajouter la classe success.
Classes actuelles: "btn btn-default buttons-Excel buttons-html5 btn-sm btn-success"
Ce que je veux : "btn buttons-Excel buttons-html5 btn-sm btn-success"
Oui, cela peut être vraiment ennuyeux. C'est la même chose sans utiliser bootstrap, où .dt-button
est toujours ajouté même si vous déclarez className
. Il y a un rappel init
que vous pouvez utiliser pour modifier par exemple des classes:
$('#example').DataTable( {
dom: 'Bfrtip',
buttons: [{
extend: "Excel",
className: "btn-sm btn-success",
titleAttr: 'Export in Excel',
text: 'Excel',
init: function(api, node, config) {
$(node).removeClass('btn-default')
}
}]
});
démo -> https://jsfiddle.net/m6hysypd/
Mise à jour : ont reçu beaucoup de votes positifs à ce sujet, mais les corrects ou la meilleure réponse est en fait la réponse de "DavidDomains" ci-dessous . Utilisation
buttons: {
dom: {
button: {
className: ''
}
},
buttons: [{
//here comes your button definitions
}]
}
Vous devriez jeter un œil au buttons.dom.button
option.
Cette option contrôle la balise HTML utilisée pour créer chaque bouton individuel. Avec cette option, le type de tag et le nom de classe peuvent être spécifiés en utilisant les propriétés tag et className de cet objet.
Cela vous donnera un contrôle total sur la façon dont le bouton sera rendu dans le DOM. Pas besoin de supprimer les classes par la suite.
Voici un exemple.
$('#example').DataTable( {
dom: 'Bfrtip',
buttons: {
dom: {
button: {
tag: 'button',
className: ''
}
},
buttons: [{
extend: 'Excel',
className: 'btn btn-sm btn-success',
titleAttr: 'Excel export.',
text: 'Excel',
filename: 'Excel-export',
extension: '.xlsx'
}, {
extend: 'copy',
className: 'btn btn-sm btn-primary',
titleAttr: 'Copy table data.',
text: 'Copy'
}]
}
});
<link href="https://cdn.datatables.net/v/bs-3.3.7/jszip-3.1.3/pdfmake-0.1.27/dt-1.10.15/b-1.3.1/b-html5-1.3.1/b-print-1.3.1/datatables.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.datatables.net/v/bs-3.3.7/jszip-3.1.3/pdfmake-0.1.27/dt-1.10.15/b-1.3.1/b-html5-1.3.1/b-print-1.3.1/datatables.min.js"></script>
<table id="example" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</tfoot>
<tbody>
<tr>
<td>Tiger Nixon</td>
<td>System Architect</td>
<td>Edinburgh</td>
<td>61</td>
<td>2011/04/25</td>
<td>$320,800</td>
</tr>
<tr>
<td>Garrett Winters</td>
<td>Accountant</td>
<td>Tokyo</td>
<td>63</td>
<td>2011/07/25</td>
<td>$170,750</td>
</tr>
<tr>
<td>Ashton Cox</td>
<td>Junior Technical Author</td>
<td>San Francisco</td>
<td>66</td>
<td>2009/01/12</td>
<td>$86,000</td>
</tr>
<tr>
<td>Cedric Kelly</td>
<td>Senior Javascript Developer</td>
<td>Edinburgh</td>
<td>22</td>
<td>2012/03/29</td>
<td>$433,060</td>
</tr>
<tr>
<td>Airi Satou</td>
<td>Accountant</td>
<td>Tokyo</td>
<td>33</td>
<td>2008/11/28</td>
<td>$162,700</td>
</tr>
</tbody>
</table>
Modification de la classe par défaut pour tous les boutons dans Datatable (mise à jour violon )
$.fn.dataTable.Buttons.defaults.dom.button.className = 'btn'; //'btn btn-primary'