r2791 - refactored _refreshValue method
Author: scottjehl
Date: Tue Jun 16 13:59:15 2009
New Revision: 2791
Modified:
branches/labs/selectmenu/ui.selectmenu.js
Log:
refactored _refreshValue method
Modified: branches/labs/selectmenu/ui.selectmenu.js
==============================================================================
--- branches/labs/selectmenu/ui.selectmenu.js (original)
+++ branches/labs/selectmenu/ui.selectmenu.js Tue Jun 16 13:59:15 2009
@@ -446,18 +446,30 @@
},
_refreshValue: function() {
var activeClass = (this.options.style == "popup") ? "
ui-state-active" : "";
- this.list.find('.'+ this.widgetBaseClass
+'-item-selected').removeClass(this.widgetBaseClass
+ "-item-selected"+activeClass).find('a').attr('aria-selected', 'false');
- this.list.find('li').not('li.' + this.widgetBaseClass
+ '-group').eq(this._selectedIndex()).addClass(this.widgetBaseClass
+ "-item-selected"+activeClass).find('a').attr('aria-selected', 'true');
-
+ //deselect previous
+ this.list
+ .find('.'+ this.widgetBaseClass +'-item-selected')
+ .removeClass(this.widgetBaseClass + "-item-selected" + activeClass)
+ .find('a')
+ .attr('aria-selected', 'false');
+ //select new
+ this._selectedOptionLi()
+ .addClass(this.widgetBaseClass + "-item-selected"+activeClass)
+ .find('a')
+ .attr('aria-selected', 'true');
//toggle any class brought in from option
var currentOptionClasses = this.newelement.data('optionClasses') ?
this.newelement.data('optionClasses') : "";
- var newOptionClasses =
this.list.find('li.'+this.widgetBaseClass+'-item-selected').data('optionClasses') ?
this.list.find('li.'+this.widgetBaseClass+'-item-selected').data('optionClasses') : "";
+ var newOptionClasses = this._selectedOptionLi().data('optionClasses') ?
this._selectedOptionLi().data('optionClasses') : "";
this.newelement
- .removeClass(currentOptionClasses)
- .data('optionClasses', newOptionClasses)
- .addClass( newOptionClasses )
- .find('.'+this.widgetBaseClass+'-status')
- .html(
this.list.find('li').not('li.'+this.widgetBaseClass+'-group').eq(this._selectedIndex()).find('a').html()
);
+ .removeClass(currentOptionClasses)
+ .data('optionClasses', newOptionClasses)
+ .addClass( newOptionClasses )
+ .find('.'+this.widgetBaseClass+'-status')
+ .html(
+ this._selectedOptionLi()
+ .find('a:eq(0)')
+ .html()
+ );
},
_refreshPosition: function(){
//set left value