diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ng/directive/select.js | 8 | 
1 files changed, 7 insertions, 1 deletions
| diff --git a/src/ng/directive/select.js b/src/ng/directive/select.js index 0b562cca..628d2177 100644 --- a/src/ng/directive/select.js +++ b/src/ng/directive/select.js @@ -394,6 +394,12 @@ var selectDirective = ['$compile', '$parse', function($compile,   $parse) {                    value = valueFn(scope, locals);                  }                } +              // Update the null option's selected property here so $render cleans it up correctly +              if (optionGroupsCache[0].length > 1) { +                if (optionGroupsCache[0][1].id !== key) { +                  optionGroupsCache[0][1].selected = false; +                } +              }              }              ctrl.$setViewValue(value);            }); @@ -531,7 +537,7 @@ var selectDirective = ['$compile', '$parse', function($compile,   $parse) {                    lastElement.val(existingOption.id = option.id);                  }                  // lastElement.prop('selected') provided by jQuery has side-effects -                if (lastElement[0].selected !== option.selected) { +                if (existingOption.selected !== option.selected) {                    lastElement.prop('selected', (existingOption.selected = option.selected));                  }                } else { | 
