Trigger the change event of a textbox in jQuery

12,397

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.

Share:
12,397
Cheng Chen
Author by

Cheng Chen

500 Internal Server Error

Updated on June 14, 2022

Comments

  • Cheng Chen
    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.