Un petit plug-in pour le projet https://datatables.net/ qui permet de désactiver l’élément Select si toutes les cellules d’une même colonne ont le même contenu (ne PAS tenir compte de la colonne Date dans la capture).
Utilisation:
1 |
$.disableSelect('#ra-table-equivalences'); |
Code source:
Le mettre sous Git il faudrait …
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
$(function(){ // // Désactiver l'élément Select si toutes les cellules // d'une même colonne ont le même contenu. // (tri inutile dans ce cas) $.disableSelect = function(selector){ var $sel = $(selector); // On récupère le contenu de toutes les cellules du tableau, par colonne. // https://datatables.net/reference/type/column-selector var table = $sel.DataTable(); var allData = table.columns().data(); var data = table.columns('th').data(); // On vérifie que toutes les valeurs du tableau sont égales... // http://api.jquery.com/jquery.each/ // https://stackoverflow.com/a/21266395/1662176 $.each(data, function(index, value){ var checkIfAllValuesOfArrayAreEqual = !!value.reduce(function(a, b){ return (a === b) ? a : NaN; }); // ...si "Oui", on désactive l'élément Select. if(checkIfAllValuesOfArrayAreEqual === true) { $sel.find('thead th:eq('+index+')') .addClass('js-disabled-select') .find('select') .attr('disabled', 'disabled'); } }); } }); |