2010-04-30 5 views
0

J'ai une petite forme avec une zone de liste modifiable (liste déroulante ASP.NET liste déroulante) et une zone de texte (avec un ID DIV txtName). Lorsque l'index sélectionné de la zone de liste déroulante change, je souhaite effacer la zone de texte.jquery asp.net zone de liste déroulante question

Je comprends que le suivi efface la valeur de zone de texte:

$("#txtName").val(''); 

La chose est la zone de liste déroulante. Il contient une liste d'entiers représentant les mois de l'année. Le contrôle déroulant est appelé ddlMonths.

$("#ddlMonths").change(function() { 
    $("#txtName").val(''); 
}); 

Je pensais qu'en utilisant la modification, un gestionnaire d'événement onSelectedIndexChange serait associé à ce contrôle.

J'ai essayé aussi (parce que je suis tombé sur l'ID client étant dans ASP.NET mutilée w/jQuery) ceci:

$("#<%=ddlMonths.ClientID%>").change(function() { 
    $("#<%=txtName.ClientID%>").val(''); 
}); 

et aucune approche ne semble fonctionner. Est-ce que je manque quelque chose?

Répondre

1

Je viens de réaliser quel était mon problème!

Le code ci-dessus était dans un bloc client javascript, mais je n'avais pas:

$(document).ready(function() { 

// I put my code in here and then it worked. My problem was more than likely that 
// my code executed *before* the controls were rendered, and I need to have the code 
// ready to execute *after* the document completely rendered. 

}); 
+0

Votre conjecturer est correcte. Vous pouvez également déplacer le bloc '

Questions connexes