diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ng/directive/select.js | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/ng/directive/select.js b/src/ng/directive/select.js index 27a92c48..77b2f46d 100644 --- a/src/ng/directive/select.js +++ b/src/ng/directive/select.js @@ -521,7 +521,6 @@ var optionDirective = ['$interpolate', function($interpolate) { return { restrict: 'E', priority: 100, - require: '^select', compile: function(element, attr) { if (isUndefined(attr.value)) { var interpolateFn = $interpolate(element.text(), true); @@ -530,8 +529,13 @@ var optionDirective = ['$interpolate', function($interpolate) { } } - return function (scope, element, attr, selectCtrl) { - if (selectCtrl.databound) { + return function (scope, element, attr) { + var selectCtrlName = '$selectController', + parent = element.parent(), + selectCtrl = parent.data(selectCtrlName) || + parent.parent().data(selectCtrlName); // in case we are in optgroup + + if (selectCtrl && selectCtrl.databound) { // For some reason Opera defaults to true and if not overridden this messes up the repeater. // We don't want the view to drive the initialization of the model anyway. element.prop('selected', false); |
