diff --git a/js/jquery.mobile.forms.select.custom.js b/js/jquery.mobile.forms.select.custom.js
index d94c8994..043cb282 100644
--- a/js/jquery.mobile.forms.select.custom.js
+++ b/js/jquery.mobile.forms.select.custom.js
@@ -13,7 +13,7 @@
label = widget.label,
thisPage = widget.select.closest( ".ui-page" ),
screen = $( "
", {"class": "ui-selectmenu-screen ui-screen-hidden"} ).appendTo( thisPage ),
- selectOptions = widget.select.find("option"),
+ selectOptions = widget._selectOptions(),
isMultiple = widget.isMultiple = widget.select[ 0 ].multiple,
buttonId = selectID + "-button",
menuId = selectID + "-menu",
@@ -108,7 +108,7 @@
// index of option tag to be selected
var oldIndex = self.select[ 0 ].selectedIndex,
newIndex = self.list.find( "li:not(.ui-li-divider)" ).index( this ),
- option = self.selectOptions.eq( newIndex )[ 0 ];
+ option = self._selectOptions().eq( newIndex )[ 0 ];
// toggle selected status on the tag for multi selects
option.selected = self.isMultiple ? !option.selected : true;
@@ -206,7 +206,7 @@
var self = this,
select = this.element,
isMultiple = this.isMultiple,
- options = this.selectOptions = select.find( "option" ),
+ options = this._selectOptions(),
selected = this.selected(),
// return an array of all selected index's
indicies = this.selectedIndices();
diff --git a/js/jquery.mobile.forms.select.js b/js/jquery.mobile.forms.select.js
index 59d580bb..27dd0932 100644
--- a/js/jquery.mobile.forms.select.js
+++ b/js/jquery.mobile.forms.select.js
@@ -55,6 +55,10 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
}, 40);
},
+ _selectOptions: function() {
+ return this.select.find( "option" );
+ },
+
// setup items that are generally necessary for select menu extension
_preExtension: function(){
this.select = this.element.wrap( "
" );
@@ -62,7 +66,6 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
this.label = $( "label[for='"+ this.selectID +"']" ).addClass( "ui-select" );
this.isMultiple = this.select[ 0 ].multiple;
this.options.theme = this._theme();
- this.selectOptions = this.select.find( "option" );
},
_create: function() {
@@ -153,14 +156,14 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
},
selected: function() {
- return this.selectOptions.filter( ":selected" );
+ return this._selectOptions().filter( ":selected" );
},
selectedIndices: function() {
var self = this;
return this.selected().map( function() {
- return self.selectOptions.index( this );
+ return self._selectOptions().index( this );
}).get();
},