Bonjour
J'ai une dropdownlist, quand on change d'item, ça met à jour un champs en fonction de la valeur sélectionné.

Mon problème vient quand on change de valeur avec le clavier:
Quand on clique sur la dropdowlist, puis on sélectionne une valeur, puis on se balade avec les touches "haut" et "bas" du clavier, sur IE8 le label est mis à jour automatiquement.
Sur Firefox 8 (j'ai pas testé les autres versions) et sur Chrome, il ne se passe rien, il faut cliquer en dehors de la dropdowlist pour que le label soit mis à jour.

Comment faire ?

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
20
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
 
    <form id="form1" runat="server">
    <div>
    <asp:DropDownList ID="ddl" runat="server" AutoPostBack="true" 
            onselectedindexchanged="ddl_SelectedIndexChanged">
    </asp:DropDownList>
        <asp:Label ID="lbl" runat="server" Text="Label"></asp:Label>
    </div>
    </form>
</body>
</html>

Code C# : 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
using System;
 
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            ddl.Items.Add("1");
            ddl.Items.Add("2");
            ddl.Items.Add("3");
        }
    }
 
    protected void ddl_SelectedIndexChanged(object sender, EventArgs e)
    {
        lbl.Text = ddl.SelectedValue;
        ddl.Focus();
    }
}

Merci