aboutsummaryrefslogtreecommitdiffstats
path: root/src/ng/directive/input.js
diff options
context:
space:
mode:
authorVojta Jina2012-04-10 13:41:51 -0700
committerVojta Jina2012-04-11 15:50:52 -0700
commit93d62860e988a09fb64e594f50f6cd55a1fc5748 (patch)
tree9b8d84fac932993f5ca2f87240b4213dde819416 /src/ng/directive/input.js
parent5bcd7198664dca2bf85ddf8b3a89f417cd4e4796 (diff)
downloadangular.js-93d62860e988a09fb64e594f50f6cd55a1fc5748.tar.bz2
fix(input.radio): support 2-way binding in a repeater
Closes #869
Diffstat (limited to 'src/ng/directive/input.js')
-rw-r--r--src/ng/directive/input.js12
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 {