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