2009-08-03 13 views
0

Existe-t-il un moyen d'appeler une fonction javascript lorsque l'index sélectionné d'une entrée de sélection a été modifié?Appel de la fonction javascript sur un changement d'index sélectionné du type d'entrée sélectionné dans ASP.NET

En utilisant ce code dans le code C# behind

riskSeverityDropDown.SelectedValue = Convert.ToString(planRisk.Severity); 
riskSeverityDropDown.SelectedIndexChanged += new EventHandler(riskSeverityDropDown_SelectedIndexChanged); 
riskSeverityDropDown.AutoPostBack = true; 

veulent changer quelque chose d'autre sur la page avec javascript lorsque l'indice est modifié.

Toute aide serait grandement appréciée. Merci d'avance

+0

Il semble que vous essayez de créer un contrôle dynamique ... Avez-vous envisagé de placer un contrôle régulier dans le balisage et de le rendre simplement visible sur Vrai ou Faux si nécessaire? –

Répondre

0

Vous souhaitez ajouter un attribut à ce menu déroulant appelé "onchange" et le définir pour appeler une méthode JavaScript de votre choix.

+0

Cela ne fonctionnera pas - tant que AutoPostBack est également vrai tout changement de son javascript sera perdu tout de suite. –

1

Ajoutez simplement un changement à votre liste déroulante asp: dropdownlist.

<asp:DropDownList ID="riskSeverityDropdown" 
        AutoPostBack="True" 
        SelectedIndexChanged="riskSeverityDropDown_SelectedIndexChanged" 
        onChange="functionName()" 
        runat="server" /> 

ou pour ce faire de l'utilisation codebehind:

riskSeverityDropdown.Attributes["onchange"] = "functionName()"; 
+1

Cela ne fonctionnera pas - tant que AutoPostBack est également vrai tous les changements de son javascript seront perdus tout de suite. –

5

Vous allez déjà le code du serveur (AutoPostBack est vrai), ce qui signifie vous allez reconstruire la page entière en tous cas. Exécuter javascript à ce stade serait un peu bête, car toutes les modifications que vous apportez au DOM seront perdues et toutes les demandes ajax que vous souhaitez envoyer peuvent être traitées par le code du serveur normal. Si vous voulez vraiment faire cela, vous pouvez simplement enregistrer le script pour exécuter lorsque la page charge après la publication.

D'autre part, si vous pouvez le faire sans code de serveur tout puis définissez AutoPostBack false et la commande de sélection html de base a une belle événement onchange vous pouvez manipuler.

-2

Utilisez JQuery. Il expose un riche ensemble d'événements que vous pouvez utiliser pour coder pratiquement n'importe quoi d'une manière uniforme. Il est également très facile à apprendre, compact et populaire.

En bref, vous ne pouvez pas vous tromper si vous utilisez JQuery. Il est destiné à résoudre des problèmes comme celui-ci.

Questions connexes