La liste deroulante en php

Bonjour,
ce problème est déjà posé et résolu mais cette fois ici j'utilise la tehnologie ajax.

voilà mon problème dans une liste déroulante en php j'ai deux valeurs(codefamille et designation)

je veux des que je selectionne une ligne, un seul valeurs qui sera affiché(par exemple le codefamille)

/*code ajax
.............
............
*/

<select name='famille' id='famille' style='width:200px' onchange='f_famille_designation();f_sous_famille_code();'>

<?php
$res=mysql_query("select * from famille order by code_famille") or die ("Requête non executée.");

echo"<option value='-1'>Choisir une famille</option>";
while($row = mysql_fetch_array($res)){
$Codefamille = $row['code_famille'];
$Designation = $row['designation'];
echo '<option value="'.$row['famille_id'].'">'.($Codefamille."-".$Designation) .'</option>';
}
?>
</select>

merci
Configuration: Windows XP Internet Explorer 7.0

5 réponses

  1. J'ai fais ça, modifie le pour que ca corresponde a ton cas :

    <script language="javascript">
    function testage()
    {
    var i;
    var tab;
    var nbopt = document.getElementById('pouet').options.length;
    
    for (i = 0; i < nbopt; i++)
    	{
    	tab = document.getElementById('pouet').options[i].id.split(';');
    	if (document.getElementById('pouet').options[i].selected)
    		document.getElementById('pouet').options[i].text = tab[0];
    	else
    		document.getElementById('pouet').options[i].text = tab[0]+' '+tab[1];
    	}
    }
    
    </script><br /><br />
    <br />
    LISTE :<select id="pouet" name="pouet" Onchange="javascript: testage();">
    <option id="Pwet;coucou">Pwet coucou</option>
    <option id="Truc;coucou">Truc coucou</option>
    <option id="Test;coucou">Test coucou</option>
    </select>


    En gros :

    Dans ID de chaque option tu met CODE;DESIGNATION

    A chaque modification de ta liste tu appel testage();

    Testage parcourt ta liste deroulante, si l'option est selectionné, elle affiche CODE, sinon elle affiche CODE+' '+DESIGNATION
    0
    1. J'ai essayé de le mettre a ta sauce :

      <script language="javascript">
      function text_modif()
      {
      var i;
      var tab;
      var nbopt = document.getElementById('famille').options.length;
      
      for (i = 1; i < nbopt; i++)
      	{
      	tab = document.getElementById('famille').options[i].id.split(';');
      	if (document.getElementById('famille').options[i].selected)
      		document.getElementById('famille').options[i].text = tab[0];
      	else
      		document.getElementById('famille').options[i].text = tab[0]+' - '+tab[1];
      	}
      }
      </script>
      
      
      
      <select name='famille' id='famille' style='width:200px' onchange='f_famille_designation();f_sous_famille_code();text_modif();'>
      
      <?php
      $res=mysql_query("select * from famille order by code_famille") or die ("Requête non executée.");
      
      echo"<option value='-1'>Choisir une famille</option>";
      while($row = mysql_fetch_array($res)){
      $Codefamille = $row['code_famille'];
      $Designation = $row['designation'];
      echo '<option id="'.$Codefamille.";".$Designation.'" value="'.$row['famille_id'].'">'.($Codefamille."-".$Designation) .'</option>';
      }
      ?>
      </select> 
      0
      1. oui merci beaucoup....

        moi voilà ce que j'ai fait presque la même chose
        <?php

        $req="select * from famille";
        $req_execute=mysql_query($req);
        $req_numbre_rows=mysql_num_rows($req_execute);
        ?>

        <script language="javascript">
        function testage()
        {
        var i;
        var tab;

        for (i = 0; i <($req_numbre_rows); i++)
        {
        tab = document.getElementById('famille').options[i].id.split(';');
        if (document.getElementById('famille').options[i].selected)
        document.getElementById('famille').options[i].text = tab[0];
        else
        document.getElementById('famille').options[i].text = tab[0]+' '+tab[1];
        }
        }

        </script>

        <select name='famille' id='famille' style='width:200px' onchange='f_famille_designation();f_sous_famille_code();testage();'>

        <?php

        $res=mysql_query("select * from famille order by code_famille") or die ("Requête non executée.");
        echo"<option value='-1'>Choisir une famille</option>";
        while($row = mysql_fetch_array($res)){
        $Codefamille = $row['code_famille'];
        $Designation = $row['designation'];
        echo '<option id="'.$Codefamille.";".$Designation.'" value="'.$row['famille_id'].'">'.($Codefamille."-".$Designation) .'</option>';

        }
        ?>
        </select>
        0
        1. Oui c'est à peu près pareil
          Tant que le resultat y est ^^

          Si ça marche met ton sujet en résolu
          0