Bonjour,

J'ai un pépin qui se doit s’être simple :
Je récupère les valeur de ma BDD pour faire un formulaire dynamique sur 3 niveaux, et cela fonctionne très bien (quand on sélectionne le niveau 1, le niveau 2 retourne les valeurs adéquates, et idem niveau 3)
Donc tout va bien ... sauf que je souhaite modifier le champ "text" de mon select de niveau 2 (category) en fonction de la value du champs option
en gros si value== "x", text == "mon nouveau texte"

Ci dessous mon JS qui marche très bien, je veux y ajouter une liste de valeur pour le document.getElementById('category').innerHTML = leselect; change a valeur du texte (et pas de la value) retournée par ma BDD

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
19
20
21
22
23
24
25
26
27
28
29
30
31
if (window.XMLHttpRequest) {
    oXmlhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
    oXmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
function selectManufacturer(id) {
    document.getElementById('subcategory').innerHTML = "";
    oXmlhttp.open('POST', "recherche-listesderoulantes-resultats.php");
    oXmlhttp.onreadystatechange = function () {
        if (oXmlhttp.readyState == 4 && oXmlhttp.status == 200) {
            leselect = oXmlhttp.responseText;
            document.getElementById('category').innerHTML = leselect;
        }
    }
    oXmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    var data = 'q=m&id=' + id;
    oXmlhttp.send(data);
}
 
function selectCategory(manufacturer, category) {
    oXmlhttp.open('POST', "recherche-listesderoulantes-resultats.php");
    oXmlhttp.onreadystatechange = function () {
        if (oXmlhttp.readyState == 4 && oXmlhttp.status == 200) {
            leselect = oXmlhttp.responseText;
            document.getElementById('subcategory').innerHTML = leselect;
        }
    }
    oXmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    var data = 'q=c&manufacturer=' + manufacturer + '&id=' + category;
    oXmlhttp.send(data);
}



code HTML :
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
<form method="get" action="recherche-listesderoulantes-resultats.php">
    <select style="width: 80%" id="manufacturers_id" name="manufacturers_id" onchange="selectManufacturer(this.value);">
        <option value="-1">Choisissez</option>
        <option value="****">Marque 1</option>
        <option value="****">Marque 2</option>
         ...
    </select>
    <div id="category" style="display:inline">
        <select style="width: 80%" name="category" onchange="selectCategory(1743,this.value);">
            <option value="-1">-- Catégorie --</option>
            <option value="13508">Accessoires</option>
            <option value="13453">Accessoires 2</option>
            <option value="13622">Accessoires 3</option>
             .....
        </select>
    </div>
    <div id="subcategory" style="display:inline">
    </div>
</form>

Donc il faut que je remplace Accessoires 1 par Accessoire automobile
Accessoires 2 par Accessoires moto
etc ...

D'avance un grand merci car là je sèche !!!