jQuery textbox.val('xxxx') not causing change to fire?

DC. picture DC. · Feb 11, 2010 · Viewed 13.6k times · Source

I have the following jQuery code in place on my page:

var isChanged = false;
$(document).ready(function()
{
    $('.change').change(function() {
        isChanged = true;
    });
});

I am using a plugic that modifies the value of the text box it is linked to using:

target.val('xxxx');

the text box in the html (from asp.net) is:

<input name="ctl00$cphHolder1$rptFlex$ctl01$txtLeftRank"
  type="text"
  value="52°"
  id="ctl00_cphHolder1_rptFlex_ctl01_txtLeftRank"
  class="change atiselector" />

When the value of the text box is changed using code, the change is not firing. If I type in the text box, the change fires. What am I missing?

Answer

Pointy picture Pointy · Feb 11, 2010

That's the way it works. If you need the change of value to trigger the "change" event, you can explicitly do so by:

$('input#whatever').val('hi').change();