[AJAX] Liste déroulante Dynamique à partir d'un BD
Bonjour à tous,
Je suis débutante avec AJAX et j'ai un petit problème. J'ai trouvé beaucoup d'information à ce sujet sur ce site, mais il me manque un petit détail.
Voici mon HTML
Code:
1 2 3 4 5 6 7 8 9 10 11
| <tr>
<td style="width:5%">Achat:</td>
<td style="width:61%">Article:
<select id="categorie" onchange="afficheProduit('oper=produit&num=1')"></select>
<select id="produit">
<option>Choisir article en premier</option^>
</select>
</td>
<td style="width:17%; text-align:right"><span id="prixItem1">0$</span></td>
<td style="width:17%"> </td>
</tr> |
Voici mon Javascript:
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 30 31 32
| function afficheProduit(param) {
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Le navigateur ne supporte pas les 'HTTP Requests'");
return;
}
var url="test_inv_ajax.php" + "?" + param;
xmlHttp.onreadystatechange=stateChanged2;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
// Fonction qui permet de récupérer les différentes catégories de la base de données
function stateChanged2() {
var categorieChoisie, tabReponse, sel;
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
sel = document.getElementById('categorie');
categorieChoisie = sel.options[sel.selectedIndex].value;
numCat = categorieChoisie.split(":");
alert("vous avez choisi:" + numCat[0]);
tabReponse = xmlHttp.responseText.split("\n");
for(i=0;i<tabReponse.length;i++) {
document.forms["formulaire"].elements["produit"].options[i]=new Option(tabReponse[i], tabReponse[i]);
}
}
} |
Mes liste fonctionne très bien si j'entre manuellement le numéro du produit manuellement dans l'appel de la fonction. Par contre je voudrais utiliser le choix de l'utilisateur donc la valeur de numCat.
J'espère que quelqu'un pourra m'aider.
Merci à l'avance