bonjour
soit une <table> qui comporte 3 lignes ( en réel > 500 )
sur chaque ligne <tr> j'ai :
2 <td>
- le premier contient toujours la même liste déroulante <select class="matiere"> avec une liste d'éléments.
- le 2eme est un <td class="spe"> qui contient du texte.
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 <table> <tr> <td> <select name="spe_med" class="matiere"> <option value="356">Anatomie </option> <option value="335">Anesthésie et réanimation chirurgicale</option> <option value="373">Aucune</option> <option value="337">Chirurgie générale</option> <option value="359">Chirurgie infantile</option> <option value="360">Chirurgie maxillo faciale</option> </select> </td> <td class="spe">ANAT</td> </tr> <tr> <td> <select name="spe_med" class="matiere"> <option value="356">Anatomie </option> <option value="335">Anesthésie et réanimation chirurgicale</option> <option value="373">Aucune</option> <option value="337">Chirurgie générale</option> <option value="359">Chirurgie infantile</option> <option value="360">Chirurgie maxillo faciale</option> </select> </td> <td class="spe">PEDIATRIE</td> </tr> <tr> <td> <select name="spe_med" class="matiere"> <option value="356">Anatomie </option> <option value="335">Anesthésie et réanimation chirurgicale</option> <option value="373">Aucune</option> <option value="337">Chirurgie générale</option> <option value="359">Chirurgie infantile</option> <option value="360">Chirurgie maxillo faciale</option> </select> </td> <td class="spe">ANAT</td> </tr>
mon but = établir des correspondances automatiquement :
La sélection d' une option de la liste déroulante n°1 ... par exemple l'option : Anatomie (de value="356") ... qui est sur la même ligne que "ANAT" ...
doit mettre tous les autres listes déroulantes qui sont sur une ligne qui contient aussi "ANAT" avec la valeur 356.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $('. matiere').change(function(){ var id= $(this).val(); // valeur retenue var speCSV=$(this).parent('td').next('td.spe').html(); // texte de la cellule suivante du tableau $('td.spe').each(function(i){ // console.log( "#"+id+"->"+i + ": " + $(this).html()); if($(this).html()==speCSV) { $(this).prev('.matiere').val(id);} }); });
exemple =
je prend la ligne "Anatomie" de la liste déroulante n°1
je ne parviens pas à forcer la 3eme liste déroulante à prendre la valeur 356 de la première puisque la 3eme liste est elle aussi suivie par une cellule qui contient le même texte : "ANAT".
une aide me serait précieuse.
PS : je flaire la cagouille avec le bon sélecteur du champ précédent le champ texte : $(this).prev('.matiere').val(id) ???
Mouchas gracias
Partager