diff --git a/src/angular-elastic-input.js b/src/angular-elastic-input.js index 27d427e..b348b6e 100644 --- a/src/angular-elastic-input.js +++ b/src/angular-elastic-input.js @@ -51,8 +51,15 @@ angular.module('puElasticInput', []).directive('puElasticInput', ['$document', ' wrapper.append(mirror); function update() { - mirror.text(element.val() || attrs.placeholder || ''); - var delta = parseInt(attrs.puElasticInputWidthDelta) || 1; + var defaultDelta = 1; + if (element[0].tagName === "SELECT") { + var index = element[0].selectedIndex; + defaultDelta = 8; + mirror.text((index > -1 && element[0].options[index].text) || attrs.placeholder || ''); + } else if (element[0].tagName === "INPUT") { + mirror.text(element.val() || attrs.placeholder || ''); + } + var delta = parseInt(attrs.puElasticInputWidthDelta) || defaultDelta; element.css('width', mirror.prop('offsetWidth') + delta + 'px'); }