Passer les valeurs d'une liste multiselection a une fonction javascript/Ajax?
Bonjour,
Je vous explique mon probleme:
J'ai une liste de multiselection html et j'aimerais la traité dynamiquement pour en remplir une autre.
Déjà, est ce possible? ensuite si oui, je pe vous mointrer le code que j'ai pour essayé de le realisé.
Mon probleme c'est que ca ne prend que la premier valeur selectionné et pas les autre, ca parait logique mais j'aimerais bien trouv" un moyen pour detourné ca..
Voici mon code :
Fonction javascript (ajax) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
function recherche2(sfam)
{
if(sfam!=''){
var xhr;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
document.getElementById('blockdaffichage2').innerHTML = xhr.responseText;
}
};
xhr.open("GET", "formulaire/requete2.php?entree="+sfam+"", true);
xhr.send(null);
}
} |
Fichier Creation.php :
Code:
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
|
<select name="sfam[]" id="sfam" multiple size='4' >
<?php
$sfam = new sousfamille();
$sousFam = $sfam->NomSousFamilles();
while($v = mysql_fetch_array($sousFam))
{
?>
<option value="<?php echo utf8_encode($v['nomsf']); ?>" <?php if ($_SESSION['sfam'] == (utf8_encode($v['nomsf']))) echo "selected";?>><?php echo utf8_encode($v["nomsf"]); ?> </option>
<?php
}
?>
</select>
<span class="red">*</span>
<a href="formulaire/addsousFam.php" onclick="window.open(this.href, 'H', 'width=400, height=150'); return false;">
Ajouter une sous-famille</a>
<br/>
<a href="#" onclick="recherche2(sfam.value);" > Afficher les motifs des sous-familles séléctionnées </a>
<br/>
<br/>
Motif: <font size='1'>(Ctrl+clic gauche pour multiselection)</font>
<span id="blockdaffichage2">
</span> |
et enfin :
requete2.php :
Code:
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
|
$entree = $_GET["entree"];
$mot = new motif();
$requete = $mot->search($entree);
?>
<select name="mot[]" multiple size="4">
<option value="">Choisissez le motif</option>
<?php
if(mysql_num_rows($requete)>=1)
{
while($v = mysql_fetch_array($requete))
{
?>
<option value= "<?php echo utf8_encode($v["nommot"]);?>"> <?php echo utf8_encode($v['nommot']); ?> </option>
<?php
}
}
else
{
?><option value="">Il n'y a aucun motif pour la sous-famille <?php echo " ".utf8_encode($entree); ?> </option> <?php
}
?>
</select> |
Bon apré faut que je traite $entree comme un tableau mais ca ya pas de pb.
Voila, si vous voulez des precisions hesiter pas a me demander.
Merci d'avance.
J'espere avoir etait clair sur ce que je voulais.