I have a select tag as follows:
and I\'m using a jQueryUI c
Ugh - this is terrible practice - but you can use angular.element
and get the scope
from an element that resides within the target controller.
Example:
<div ng-controller="myApp">
<span id="test"></span>
</div>
Javascript:
var scope = angular.element("#test").scope();
scope.doSomething();
Your scope
variable now has access to all the methods defined on the myApp
controller.
The question is not how to run some code, but rather how to trigger the change event. I found an angular-friendly way to do this. I have a jQuery UI slider that changes the value of another input which has the ng-change on it. The secret is that once you turn it into an angular.element you now have access to a method called triggerHandler. From what I've seen, using this would not be considered bad practice:
angular.element(document.getElementById('test')).triggerHandler('change');
tymeJV's answer did angular.element("#test")
directly without using jQuery, but I got a console error and broken functionality that way. This version works without any dependencies.