Angular doesn’t know about that change. For this you should call $scope.$digest() or make the change inside of $scope.$apply():
$scope.$apply(function() {
// every changes goes here
$('#selectedDueDate').val(dateText);
});
See this to better understand dirty-checking
UPDATE: Here is an example