Bonjour,

J'essaie d'implémenter une fonction qui permet lordsque l'on clique sur une liste, qu'une seconde soit mise à jour.

Voici le code :
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
function ShowURL(form)
{
	i = form.site_id.selectedIndex;
	if (i == 0) { return; }
	switch (i)
	{
		case 1 :
			var urls_id = new Array(1,2,3);
			var urls = new Array('a.htm','b.htm','c.htm');
			break;
		case 2 :
			var urls_id = new Array(4,5,6,7);
			var urls = new Array('d.htm','e.htm','f.htm','g.htm');
			break;
	}
	for (i=0; i<2; i++)
	{
		form.url_id.options[i+1].value=urls_id[i];
		form.url_id.options[i+1].text=urls[i];
	}
}
//-->
</script>
Ca fonctionne à moitié. En effet, lors d'un choix dans la liste 1, la liste 2 est mise à jour avec le tableau urls[i].
Ainsi la liste qui au préalable est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<option></option>
<option></option>
<option></option>
<option></option>
<option></option>
devient dans le cas du choix 2 dans la liste 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<option>d.htm</option>
<option>e.htm</option>
<option>f.htm</option>
<option>g.htm</option>
<option></option>
Or je voudrais qu'elle devienne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<option value="4">d.htm</option>
<option value="5">e.htm</option>
<option value="6">f.htm</option>
<option value="7">g.htm</option>
<option></option>
Apparemment ce code form.url_id.options[i+1].value=urls_id[i]; ne fonctionne pas.

A l'aide.