Bonjour,
Je désire, lors d'un clic sur une des lignes d'un tableau généré en php, obtenir les valeurs de chaque case de la ligne qui a été cliquée et insérer chacune de ces valeurs dans des champs input qui ont été construits en html.
Voici la génération du tableau en php :
Code php : 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 echo ' <table id="tabpers"> <tr> <th>Nom</th> <th>Prénoms</th> <th>Date naiss</th> <th>Commune naiss</th> <th>Dépt naissance</th> </tr> '; $reponse = $bdd->query('SELECT pers_id, '.$field.', '.$field1.', pers_datenaiss, pers_communenaiss, pers_deptnaiss FROM '.$table.' WHERE SUBSTRING('.$field.', 1, '.strlen($element).') LIKE "'.$element.'" ORDER BY '.$field.', '.$field1.' ASC LIMIT 15'); while($donnees = $reponse->fetch()) { echo ' <tr id="'.$donnees['pers_id'].'" onclick="remplichamps(\'personnes\', (this.id), this);"> <td>'.$donnees['pers_nom'].'</td> <td>'.$donnees['pers_prenom'].'</td> <td>'.$donnees['pers_datenaiss'].'</td> <td>'.$donnees['pers_communenaiss'].'</td> <td>'.$donnees['pers_deptnaiss'].'</td> </tr>'; } echo'</table>'; $reponse->closeCursor();
Voici le <div> dans lequel est inséré le tableau (<div> construit en html):
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <div id="listepers"> </div>
voici les champs où je désire inscrire les values (champs construits en html):
Code html : 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 <div id="divpershphysique" class="divpersh"> <label for="madame">Madame</label> <input type="radio" name="genre" value="0" id="madame"/> <label for="monsieur">Monsieur</label> <input type="radio" name="genre" value="1" id="monsieur"/> <br/><br/> <label for="nom">Nom* : </label> <input type="text" id="nom" name="nom" autocomplete="off" onKeyUp="suggest(this.name, this.value, 'personnes', 'pers_nom');"/> <label for="prenom">prenoms* : </label> <input type="text" id="prenoms" name="prenoms" autocomplete="off" onKeyUp="suggest(this.name, this.value, 'personnes', 'pers_prenom');"/> <br/><br/> <label for="datenaiss">Date de naissance (aaaa-mm-jj)* : <input type="date" value="2014-12-25" id="datenaiss"/></label> <label for="lieunaiss">Commune de naissance :</label> <input type="text" id="lieunaiss"/> <label for="dept">Département : <input type="text" id="dept"/></label> <br/><br/> </div>
voici le code JQUERY que j'ai fait mais qui ne fonctionne pas (j'ai testé plein de choses mais là je cale ...):
Sur la doc, je ne trouve que des examples qui me permettent de remplir l'attribut value mais pas d'obtenir cet attribut. J'ai pensé à ".attr('id')" mais je ne vois pas comment le mettre en oeuvre avec le delegate.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $("#listepers").delegate('table > tbody > tr', 'click', function(){ $("#nom ").val($("#listepers").delegate('table > tbody > tr > td',); });
Faudrait-il que je donne un id à chaque <td> de mon tableau lors de la génération en PHP (avec un integer incrémenté pour rendre l'id unique ...) ?
Pour prévoir l'utilisation des id des <td>, j'ai d'ores et déjà intégré les id aux <td> de cette façon :
Je vous remercie de bien vouloir m'aider !!!
Code php : 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 $i = 0; while($donnees = $reponse->fetch()) { echo ' <tr id="'.$donnees['ent_id'].'" onclick="remplichamps(\'entreprises\', (this.id), this);"> <td id="'.$i.'">'.$donnees['ent_nom'].'</td>'; $i = $i + 1; echo ' <td id="'.$i.'">'.$donnees['ent_siret'].'</td>'; $i = $i + 1; echo ' <td id="'.$i.'">'.$donnees['stat_nom'].'</td>'; $i = $i + 1; echo ' <td id="'.$i.'">'.$donnees['pers_nom'].'</td>'; $i = $i + 1; echo ' <td id="'.$i.'">'.$donnees['pers_prenom'].'</td>'; $i = $i + 1; echo ' </tr> '; }
Partager