Bonjour

Je souhaite proposé à l'utilisateur à l'aide de trois listbox de faire un choix descendant.

Le code suivant fonctionne mais je n'arrive pas à trouver pourquoi lorsque l'on clique dans le deuxiéme listbox rien ne s'affiche dans le troisiéme.

Question subsidiaire Peut on fixer la largeur des combobox pour qu'elle ne change pas en fonction du contenu ?

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
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
63
64
65
66
<html>
<head>
 
<script type="text/javascript">
<!--
var available_options = {};
available_options['meca1'] = new Array(
                                     'Moteur',
                                     'Haut moteur'
                                    );
available_options['carr1'] = new Array(
				     'voiture',
                                     'Units supérieurs avant'
                                    );
available_options['meca10'] = new Array(
                                        'moteur'
                                       );
available_options['meca11'] = new Array(
                                        'Joints moteur'
                                       );
available_options['carr10'] = new Array(
                                        'Caisse'
                                       );
available_options['carr11'] = new Array(
                                        'Capot'
                                       ); 
function loadSBOptions(selectbox1, selectBox)
{
selectBox.options.length = 0;
if(available_options[selectbox1])
{
for(i = 0; i < available_options[selectbox1].length; i++)
{
selectBox.options.add(new Option(available_options[selectbox1][i]));
}
}
else
{
}
}
-->
  </script>
</head>
<body onload="loadSBOptions(document.forms[0].selectbox1.options[document.forms[0].selectbox1.selectedIndex].value, document.forms[0].selectbox2);">
<body onload="loadSBOptions(document.forms[0].selectbox2.options[document.forms[0].selectbox2.selectedIndex].value, document.forms[0].selectbox3);">
<form method="post">
  <select name="selectbox1" size="20" onchange="loadSBOptions(this.options[this.selectedIndex].value, this.form.selectbox2);">
  <option value="meca1">Mécanique</option>
  <option value="carr1">Carrosserie</option>
  </select>
 
  <select name="selectbox2" size="20" onchange="loadSBOptions(this.options[this.selectedIndex].value, this.form.selectbox3);">
  <option value="meca10"> </option>
  <option value="meca11"> </option>
  <option value="carr10"> </option>
  <option value="carr11"> </option>
  <option value=""> </option>
  </select>
 
  <select name="selectbox3" size="20" onchange="">
  <option value=""> </option>
  </select>
</form>
 
</body>
</html>