diff options
| author | Vojta Jina | 2012-04-10 13:41:51 -0700 |
|---|---|---|
| committer | Vojta Jina | 2012-04-11 15:50:52 -0700 |
| commit | 93d62860e988a09fb64e594f50f6cd55a1fc5748 (patch) | |
| tree | 9b8d84fac932993f5ca2f87240b4213dde819416 /src | |
| parent | 5bcd7198664dca2bf85ddf8b3a89f417cd4e4796 (diff) | |
| download | angular.js-93d62860e988a09fb64e594f50f6cd55a1fc5748.tar.bz2 | |
fix(input.radio): support 2-way binding in a repeater
Closes #869
Diffstat (limited to 'src')
| -rw-r--r-- | src/ng/directive/input.js | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/ng/directive/input.js b/src/ng/directive/input.js index 250a4520..dadf07c4 100644 --- a/src/ng/directive/input.js +++ b/src/ng/directive/input.js @@ -576,8 +576,10 @@ function emailInputType(scope, element, attr, ctrl, $sniffer, $browser) { } function radioInputType(scope, element, attr, ctrl) { - // correct the name - element.attr('name', attr.id + '@' + attr.name); + // make the name unique, if not defined + if (isUndefined(attr.name)) { + element.attr('name', nextUid()); + } element.bind('click', function() { if (element[0].checked) { @@ -1144,9 +1146,9 @@ var CONSTANT_VALUE_REGEXP = /^(true|false|\d+)$/; var ngValueDirective = [function() { return { priority: 100, - compile: function(tpl, attr) { - if (CONSTANT_VALUE_REGEXP.test(attr.ngValue)) { - return function(scope) { + compile: function(tpl, tplAttr) { + if (CONSTANT_VALUE_REGEXP.test(tplAttr.ngValue)) { + return function(scope, elm, attr) { attr.$set('value', scope.$eval(attr.ngValue)); }; } else { |
