mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-05-09 15:24:43 +00:00
fix(ng:options): select correct element when '?'-option was previously selected
Closes #599
This commit is contained in:
parent
74379df6c4
commit
ee6af9a978
2 changed files with 16 additions and 3 deletions
|
|
@ -384,7 +384,7 @@ angularWidget('select', function(element){
|
||||||
if (existingOption.id !== option.id) {
|
if (existingOption.id !== option.id) {
|
||||||
lastElement.val(existingOption.id = option.id);
|
lastElement.val(existingOption.id = option.id);
|
||||||
}
|
}
|
||||||
if (existingOption.selected !== option.selected) {
|
if (existingOption.element.selected !== option.selected) {
|
||||||
lastElement.prop('selected', (existingOption.selected = option.selected));
|
lastElement.prop('selected', (existingOption.selected = option.selected));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -428,6 +428,21 @@ describe('select', function() {
|
||||||
expect(select.val()).toEqual('0');
|
expect(select.val()).toEqual('0');
|
||||||
expect(select.find('option').length).toEqual(1);
|
expect(select.find('option').length).toEqual(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should select correct input if previously selected option was "?"', function() {
|
||||||
|
createSingleSelect();
|
||||||
|
scope.values = [{name:'A'},{name:'B'}];
|
||||||
|
scope.selected = {};
|
||||||
|
scope.$digest();
|
||||||
|
expect(select.find('option').length).toEqual(3);
|
||||||
|
expect(select.val()).toEqual('?');
|
||||||
|
expect(select.find('option').eq(0).val()).toEqual('?');
|
||||||
|
|
||||||
|
browserTrigger(select.find('option').eq(1));
|
||||||
|
expect(select.val()).toEqual('0');
|
||||||
|
expect(select.find('option').eq(0).prop('selected')).toBeTruthy();
|
||||||
|
expect(select.find('option').length).toEqual(2);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('on change', function() {
|
describe('on change', function() {
|
||||||
|
|
@ -504,7 +519,5 @@ describe('select', function() {
|
||||||
expect(scope.selected).toEqual([scope.values[0]]);
|
expect(scope.selected).toEqual([scope.values[0]]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue