diff --git a/src/uiSelectController.js b/src/uiSelectController.js index 5b00db2fd..3e4019a90 100644 --- a/src/uiSelectController.js +++ b/src/uiSelectController.js @@ -444,6 +444,7 @@ uis.controller('uiSelectCtrl', }; var sizeWatch = null; + var updaterScheduled = false; ctrl.sizeSearchInput = function() { var input = ctrl.searchInput[0], @@ -465,10 +466,16 @@ uis.controller('uiSelectCtrl', ctrl.searchInput.css('width', '10px'); $timeout(function() { //Give tags time to render correctly if (sizeWatch === null && !updateIfVisible(calculateContainerWidth())) { - sizeWatch = $scope.$watch(calculateContainerWidth, function(containerWidth) { - if (updateIfVisible(containerWidth)) { - sizeWatch(); - sizeWatch = null; + sizeWatch = $scope.$watch(angular.noop, function() { + if (!updaterScheduled) { + updaterScheduled = true; + $scope.$$postDigest(function() { + updaterScheduled = false; + if (updateIfVisible(calculateContainerWidth())) { + sizeWatch(); + sizeWatch = null; + } + }); } }); }