diff options
Diffstat (limited to 'src/directives.js')
| -rw-r--r-- | src/directives.js | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/directives.js b/src/directives.js index aa75aa5b..2d318be2 100644 --- a/src/directives.js +++ b/src/directives.js @@ -97,20 +97,21 @@ angularDirective("ng-bind-template", function(expression){ }); var REMOVE_ATTRIBUTES = { - 'disabled':true, - 'readonly':true, - 'checked':true + 'disabled':'disabled', + 'readonly':'readOnly', + 'checked':'checked' }; angularDirective("ng-bind-attr", function(expression){ return function(element){ this.$onEval(function(){ foreach(this.$eval(expression), function(bindExp, key) { - var value = compileBindTemplate(bindExp).call(this, element); - if (REMOVE_ATTRIBUTES[lowercase(key)]) { - if (!toBoolean(value)) { - element.removeAttr(key); - } else { + var value = compileBindTemplate(bindExp).call(this, element), + specialName = REMOVE_ATTRIBUTES[lowercase(key)]; + if (specialName) { + if (element[specialName] = toBoolean(value)) { element.attr(key, value); + } else { + element.removeAttr(key); } (element.data('$validate')||noop)(); } else { |
