Bonjour,
J'ai un dataTables, dans lequel il y a une case à cocher par ligne.
Je souhaite mettre en place la classique checkbox "tout cocher/décocher" (ça pourrait être un bouton, ou ce que vous voulez si ça solutionne le problème !). Bien sur, la sélection doit se faire sur toutes les pages du tableau.

J'ai la version où la checkbox de (dé)sélection globale est dans le dataTable en entête de colonne ou complètement en dehors du datatable. Dans les 2 cas le comportement est le même :

Si je coche, toutes mes checkbox sont sélectionnées. Cool.
Je décoche : toutes mes checkbox se désélectionnent. Recool.
Si je coche. Ca ne marche plus. Mes checkbox restent décochées. En fait il n'y a plus aucune action. Pourtant le script associé est toujours déclenché (les alertes que j'y avais insérées le prouvent) et il n'y a aucune erreur retournées dans la console.

Ci-dessous le code un peu simplifié dans l’entête de la page web
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$(document).ready( function () {
   $('#searchTable').dataTable().columnFilter();
   var oTable = $('#searchTable').dataTable();
   $('#selectAll').click( function() {
	if ($('#selectAll').prop("checked"))
	{
		$('input', oTable.fnGetNodes()).attr('checked',true);
	}
	else
	{
		$('input', oTable.fnGetNodes()).attr('checked',false);
	}
  });
} );
Et dans le body :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<table cellpadding="0" cellspacing="0" border="0" class="display" id="searchTable">
<thead>
<tr><th><input type="checkbox"  id="selectAll"></th><th>auteur</th><th>titre</th><th>annee</th></tr>
</thead>
<tbody>
<tr><td><input type="checkbox" name="chk[]" value="1" id="chck"></td><td>un auteur</td><td>un titre</td><td>une annee</td></tr>
<tr><td><input type="checkbox" name="chk[]" value="2" id="chck"></td><td>un auteur</td><td>un titre</td><td>une annee</td></tr>
etc...
<tfoot>
...
</tfoot>
</table>

Merci pour votre aide,

Sohnic