The change
event doesn’t fire when the value is programmatically changed, if it did it would cause infinite loops in many situations.
If you need the event to fire, then trigger it when changing the value yourself using .change()
, like this:
$("#hiddenId").val("new value").change();
.change()
is a shortcut for .trigger("change")
or, if you don’t want that change
event to bubble for some reason, then use .triggerHandler("change")
.