I have a problem when angular's ng-change is called when model is changed programmatically.
$scope.sendMessage = function() {
    $scope.message = "Message sent";
}
$scope.confirmed = true;
$scope.mySelectBox = $scope.selects[1];
<select ng-model="mySelectBox"
        ng-options="item.name for item in selects track by item.name"
        ng-change="sendMessage()">
</select>
Here is code example: http://plnkr.co/edit/R4MO86ihMrauHXhpCMxi?p=preview
Message should be null, because sendMessage shouldn't be called. Model is changed programmatically.
 
     
     
     
    