Trigger the change event of a textbox in jQuery
Including Pointy's point (I crack myself up) about ID, you can re-write it like this:
$(function(){
$('#<%=myText.ClientID%>').change(function() {
//stuff
}).triggerHandler('change');
});
Without seeing exactly how your other event is attached, .triggerHandler()
would be my best suggestion, as the event doesn't bubble up for capture by the .Net handler.
Comments
-
Cheng Chen almost 2 years
I have an asp:TextBox with asp:RegularExpressionValidator to validate if it's a number. Obviously an onchange event will be attached to this textbox while rendering. Also I add a change event at $(document).ready to make some calculation when the value is changed.
<asp:TextBox id="myText" runat="server" /> <asp:regularexpressionvalidator id="myRev" ControlToValidate="myText" runat="server">*</asp:regularexpressionvalidator> $(document).ready(function(){ $('[id$=myText]').bind('change',function(){ //do something }).change(); //force the change event at the very beginning });
My function will be executed later than the .net generated js because of the register time. But the asp.net js throws an error. I traced in the js:
function ValidatorOnChange(event) { ... }
and found that all of event.fromElement,event.toElement,event.srcElement are null which causes the exception. Did I do something wrong? Any solutions? Thanks.
EDIT
It's proved to be a MS bug, working fine in ASP.NET 4 vs2010.