 <p>You were updating a piece of code outside of angular and needed to let angular know to reprocess itself.</p> <pre><code> $scope.selectPage = function(pageIndex) { $scope.currentPage = pageIndex; $scope.draw(); $scope.$apply(); } </code></pre> <p>I added the $scope.$apply(); and now the currentPage updates correctly in the input. Here are the docs on the $apply method: <a href="http://docs.angularjs.org/api/ng.%24rootScope.Scope#%24apply">http://docs.angularjs.org/api/ng.$rootScope.Scope#$apply</a></p> <p><strong>jsfiddle</strong>: <a href="http://jsfiddle.net/zZURe/14/">http://jsfiddle.net/zZURe/14/</a></p>