Bonjour.
D�sol� pour le double poste. je voulais supprimer l'autre (http://www.developpez.net/forums/d15...ression-array/ ) mais je ne trouve pas comment faire...
Je rencontre un probl�me pour g�rer les donn�es d'un array.
Je m'explique : j'ai un tableau http://img11.hostingpics.net/pics/534052tableauhtml.png
et je voudrais que lorsque je clic sur une ligne du tableau, la valeur de la 1ere cellule de la ligne soit ajout�e ou enlev�e d'un array selon si la ligne est s�lectionn�e ou deselectionn�e.
L'ajout dans l'array fonctionne mais je souhaite aussi impl�menter la suppression dans l'array car le tableau est sur plusieurs pages (et je souhaite pouvoir revenir sur la page pr�c�dente pour deselectionner des cellules)
https://jsfiddle.net/Flavors/nuzo8gn2/21/
Le probleme c'est que lors de la suppression je boucle sur tous les "selected" mais je n'arrive pas � voir comment n'en selectionner qu'un seul...
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 //Fonction JS pour selectionner les lignes var $marques = $('.marques');//déclaration en variable globale var liste_marque = [];//déclaration en variable globale $('tbody').on( 'click', 'tr', function () //Lors d'un clic sur une ligne du tableau mais pas sur l'en-tête { $dataTr = $(this).data('tr');//le data-tr des ligne vaut "ligne_x" $trList = $("tr[data-tr=" + $dataTr + "]"); //On liste tous les TR qui on le même attribut ("ligne_tr") if($(this).hasClass('selected'))//Si la ligne cliqué à la classe "selected" { Suppr_Liste(); //fonction de suppression dans la liste $trList.removeClass('selected'); //On enleve la classe "selected" } else { $trList.addClass('selected'); //On ajoute la classe "selected" Ajout_Liste()//fonction d'ajout dans la liste } liste_marque.length ? $marques.text(liste_marque.join(', ')) : $marques.text(''); //On affiche la liste }); //Fonction JS pour Mettre à jour la liste des elements selectionnes function Ajout_Liste() { $('.selected').each(function() //Pour chaque element ayant la classe "selected" { var id = $('.col_marque', this).html(); //on recupere la valeur de la 1ere cellule var position = liste_marque.indexOf(id) //On prend sa position dans la liste if(('undefined' != typeof(id)) && (position == -1)) //Si id existe et n'est pas présent dans la liste_marque { alert("Il n'existe pas dans la liste, on l'elenve"); liste_marque.push(id); // On l'ajoute à la liste } }); } function Suppr_Liste() { $('.selected').each(function()//Pour chaque element ayant la classe "selected" { var id = $('.col_marque', this).html();//on recupere la valeur de la 1ere cellule var position = liste_marque.indexOf(id)//On prend sa position dans la liste if(position != -1)//Si il est déjà dans la liste { alert("Il existe dans la liste, on l'elenve"); liste_marque.splice(position,1); //On enleve l'element de la liste } }); }
Si quelqu'un � une piste, ce serait gentil.
Merci
Partager