J'ai besoin d'une combobox pour un projet ASP.NET, j'ai donc décidé d'utiliser la combobox du Ajax Control Toolkit ( http://www.asp.net/AJAX/AjaxControlToolkit/Samples/ComboBox/ComboBox.aspx ).
Je ne veux pas utiliser le postback car je ne veux pas que la page soit rechargée, mais j'ai besoin de savoir quand le texte de la zone de texte est modifié afin de pouvoir appeler le serveur pour faire persister le nouvel élément de la liste.
Je suis curieux de savoir comment lier un onchange
o onblur
à la zone de saisie que cette combobox utilise.
Voici ma page asp.net :
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="cc1" %>
<cc1:ComboBox ID="PlantDropDown" runat="server" OnInit="PlantDropDown_Init" DropDownStyle="DropDown"
AutoCompleteMode="SuggestAppend"
ItemInsertLocation="OrdinalText" AutoPostBack="false">
</cc1:ComboBox>
Mise à jour : J'ai essayé d'utiliser la suggestion et j'obtiens cette erreur :
$find("PlantDropDown") is null
[Pause sur cette erreur]
$find('PlantDropDown').add_propertyChanged(function(sender, e) { \r\n
J'utilise jQuery pour le côté Javascript, au cas où cela serait utile.
Mise à jour finale :
J'ai réussi à le faire fonctionner grâce à l'aide de crescentfresh, et à la fin j'ai ceci dans mon fichier .aspx :
<input type="hidden" id="PlantDropDownID" value="<%= PlantDropDown.ClientID %>" />
Et cela se trouve dans mon fichier javascript, puisque je ne pousse pas le javascript dans mon fichier .aspx :
elem = document.getElementById('PlantDropDownID');
$find(elem.value).add_propertyChanged(function(sender, e) {
if (e.get_propertyName() == 'selectedIndex') {
var newValue = sender.get_textBoxControl().value;
}
})