Bonjour,

Je tente (grâce à JQUERY) de sélectionner (dans un SELECT) une option à partir d'une variable qui est succeptible de changer fréquemment (donc à chaque fois que cette variabl est modifiée, on doit pouvoir slectionner une option différente).
Je désire, lorsque cette option est 'selected', pouvoir garder toute la liste des options (c'est le rôle que rempli selected mais je préférais préciser avant que l'on ne me propose d'autres solutions qui comme value, ne font qu'afficher la seule option chosie en effacant toutes les autres).

Mon problème est qu'avec le code JQUERY suivant, au bout de la deuxième sélection (donc lorsque la variable typevoietd a changé deux fois), la sélection ne fonctionne plus.
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
if($(this).find('td:eq(0)').html() == 'adr'){
        $(":button:contains('VALIDER E')").removeAttr('disabled').removeClass( 'ui-state-disabled');
	for (var i = 0; i < 5; i ++){
		var numtd = $(this).find('td:eq(1)').html();
		var typevoietd = $(this).find('td:eq(2)').html();
		var nomvoietd = $(this).find('td:eq(3)').html();
		var cptd = $(this).find('td:eq(4)').html();
		var villetd = $(this).find('td:eq(5)').html();
		var paystd =  $(this).find('td:eq(6)').html();
		$("#num").val(numtd);
// 		$('#typevoie').attr('selectedIndex', '-1');
		$('#typevoie option[value=' + typevoietd + ']').attr('selected', 'selected');
		$("#nomvoie").val(nomvoietd);
		$("#vilcp").val(villetd);
		$("#ville").val(cptd);
		$('#selectpays option[value=' + paystd + ']').attr('selected', 'selected');
	}
}
voici le code HTML :
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
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
57
58
59
60
61
62
<div id="divadresse" class="divpersh">	
   <label for="num">Numéro* : </label>
   <input type="text" id="num" name="num" value="" autocomplete="off" onKeyUp="suggest(this.name, this.value, 'adresses', 'adr_num');"/>
 
   <label for="typevoie">type voie* : </label>
   <select name="typevoie" id="typevoie">
   <?php 
      try
      {
      $bdd = new PDO('mysql:host=localhost;dbname=mairie_saubens;charset=utf8', 'root', '');
      }
         catch (Exception $e)
      {
         die('Erreur : ' . $e->getMessage());
      }
      $reponse = $bdd->query('SELECT typevoie_id, typevoie_type FROM `type_voie` ORDER BY typevoie_type');
      while ($donnees = $reponse->fetch())
      {
         $res = "<option ";
         $res .= "value='".$donnees['typevoie_type']."'>";
         $res .= $donnees['typevoie_type'];
         $res .= "</option>";
         echo $res;
      }
   ?>
   </select>
 
 
   <label for="nomvoie">nom voie* :</label>
   <input type="text" id="nomvoie" autocomplete="off" onKeyUp="suggest(this.name, this.value, 'adresses', 'nomvoie_nom');"/>
   <br/><br/>
 
   <label for="ville">ville* :
   <input type="text" id="ville" value="" autocomplete="off" onKeyUp="suggest(this.name, this.value, 'adresses', 'vil_nom');"/></label>
 
   <label for="vilcp">Code postal :</label>
   <input type="text" id="vilcp" autocomplete="off" onKeyUp="suggest(this.name, this.value, 'adresses', 'vil_cp');"/>
 
   <label for="selectpays">Pays :</label>
   <select name="selectpays" id="selectpays">
   <?php 
      try
      {
            $bdd = new PDO('mysql:host=localhost;dbname=bdd;charset=utf8', 'root', 'rrrr');
      }
            catch (Exception $e)
      {
            die('Erreur : ' . $e->getMessage());
      }
      $reponse = $bdd->query('SELECT pays_id, pays_nom FROM `pays` ORDER BY pays_nom');
      while ($donnees = $reponse->fetch())
      {
            $res = "<option ";
            $res .= "value='".$donnees['pays_nom']."'>";
            $res .= $donnees['pays_nom'];
            $res .= "</option>";
            echo $res;
      }
   ?>
   </select>
   <br/><br/>
</div>

Je pense que (je me trompe peut-être ..), lorsque je rend une option 'selected', il me faudrait rendre toutes les autres 'unselected'. C'est ce que j'ai essayé de faire à la ligne qui est commentée.

Merci pour vos aides !