Bonjour,

Je cherche a affichier dans un tableau des données correspondantes à une ligne. A chaque fois que je clique sur une ligne, j'affichie les bonnes données.

J'ai deux problemes dans mon code:
1er: si je selectionne une ligne puis une autre, je n'arrive pas à déselectionner la ligne précédement active.
2eme: je n'arrive pas à afficher mon tableau.
Je peux sans problème formater LdapData de la manière suivante:
[entete:cn]
[adresse:12 rue des petits champs]
[tel:+33123456789]
[email:pepe.nico@developpez.fr]
...

Dans #dataTables-ldaputil-detail je n'ai pas besoin de trier je veux présenter les choses de la manière suivante:
entète => cn de la requette LDAP
Body => deux colonnes avec à gauche les types d'information (tel, adresse...) et à droite les valeurs correspondantes.

Le tableau #dataTables-ldaputil fonctionne bien sauf pour l'incativation de ligne quand j'en selectionne une nouvelle.

Comment corriger mon code?
Cordialement,
Vandman

PS: je fait ce que je peux pour la présentation car le Proxy de ma boite bloque le site forum.developpez.be sur lequel sont stocké les bbcode.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<script type="text/javascript">
var LdapData = [];
LdapData = <?php echo json_encode($data); ?>;
$(document).ready(function() {
 var selected = [];
 var tableld = $('#dataTables-ldaputil').dataTable({
 select: true,
 tabIndex: 1,
 searching: false,
 paging: false,
 data: LdapData,                               
 columns: [
  { data: 'prenom',
     title: 'Prénom' },
  { data: 'nom',
     title: 'Nom' },
  { data: 'entite',
     title: 'Entité' },
  { data: 'ville',
     title: 'Ville' },
  { data: 'cp',
     title: 'Code<br>Postal' },
  { title: '',
    data: null,
    defaultContent: '<i class="glyphicon glyphicon-floppy-save" ></i>',
    bSortable: false }
 ],
});
 $('#dataTables-ldaputil tbody').on('click', 'tr', function () {
  var id = this.rowIndex;
  var index = $.inArray(id, selected);
  if ( index === -1 ) {
   selected.push( id );
  } else {
   selected.splice( index, 1 );
  }
 
  $(this).toggleClass('selected alert-info');
  var LdapDataDetail = {atribut:'Adresse', valeur:'15 Rue du petit champ'};
   LdapDataDetail += {atribut:'Telephone', valeur:'+33123456789'};
   LdapDataDetail += {atribut:'email', valeur:'pepe.nico@developpez.fr'};
 
  var tabledtl = $('#dataTables-ldaputil-detail').dataTable({
   searching: false,
   paging: false,
   data: LdapDataDetail,     
   columns: [
    { data: 'atribut' },
    { data: 'valeur' }
   ]
     });
  } );
 
});
 
</script>