I know this is old, but just in case someone else works with it, I created a small directive that includes placing the dynamic value in the placeholder and instead assigns it when changing:
.directive('dynamicPlaceholder', function() { return { restrict: 'A', link: function ($scope, element, attrs) { attrs.$observe('dynamicPlaceholder', function(value) { element.attr('placeholder', value); }); } }; });
Then, to use this, all you have to do is use dynamic-placeholder instead of placeholder :
<input ng-model='someValue' dynamic-placeholder='{{someDynamicPlaceholder}}' />
Not sure what causes the problem in IE though
source share