summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Nagel <info@felixnagel.com>2011-03-20 18:14:25 +0100
committerFelix Nagel <info@felixnagel.com>2011-03-20 18:14:25 +0100
commit7624538a97eef97be01ef72a65cc058aea70da43 (patch)
tree3cf721cf34f396829eaa51773c0d195a10b2035f
parent1e071759783ee6272cdbffc6a978013fb4aefa0e (diff)
downloadjquery-ui-7624538a97eef97be01ef72a65cc058aea70da43.tar.gz
jquery-ui-7624538a97eef97be01ef72a65cc058aea70da43.zip
fixed: problem with UTF-8 non-english chars as optgroup labels
-rw-r--r--ui/jquery.ui.selectmenu.js19
1 files changed, 9 insertions, 10 deletions
diff --git a/ui/jquery.ui.selectmenu.js b/ui/jquery.ui.selectmenu.js
index 1d876a73f..a1ad54b4c 100644
--- a/ui/jquery.ui.selectmenu.js
+++ b/ui/jquery.ui.selectmenu.js
@@ -247,7 +247,7 @@ $.widget("ui.selectmenu", {
selected: $(this).attr('selected'),
classes: $(this).attr('class'),
typeahead: $(this).attr('typeahead'),
- parentOptGroup: $(this).parent('optgroup').attr('label'),
+ parentOptGroup: $(this).parent('optgroup'),
bgImage: o.bgImage.call($(this))
});
});
@@ -292,16 +292,15 @@ $.widget("ui.selectmenu", {
});
// optgroup or not...
- if (selectOptionData[i].parentOptGroup) {
- // whitespace in the optgroupname must be replaced, otherwise the li of existing optgroups are never found
- var optGroupName = self.widgetBaseClass + '-group-' + selectOptionData[i].parentOptGroup.replace(/[^a-zA-Z0-9]/g, "");
- if (this.list.find('li.' + optGroupName).size()) {
- this.list.find('li.' + optGroupName + ':last ul').append(thisLi);
+ if ( selectOptionData[i].parentOptGroup.length ) {
+ var optGroupName = self.widgetBaseClass + '-group-' + this.element.find( 'optgroup' ).index( selectOptionData[i].parentOptGroup );
+ if (this.list.find( 'li.' + optGroupName ).length ) {
+ this.list.find( 'li.' + optGroupName + ':last ul' ).append( thisLi );
} else {
- $('<li role="presentation" class="' + self.widgetBaseClass + '-group ' + optGroupName + '"><span class="' + self.widgetBaseClass + '-group-label">' + selectOptionData[i].parentOptGroup + '</span><ul></ul></li>')
- .appendTo(this.list)
- .find('ul')
- .append(thisLi);
+ $(' <li role="presentation" class="' + self.widgetBaseClass + '-group ' + optGroupName + '"><span class="' + self.widgetBaseClass + '-group-label">' + selectOptionData[i].parentOptGroup.attr('label') + '</span><ul></ul></li> ')
+ .appendTo( this.list )
+ .find( 'ul' )
+ .append( thisLi );
}
} else {
thisLi.appendTo(this.list);