Skip to content
Browse files

Selectmenu: introduce _setText helper function to improve handling of…

… empty strings
  • Loading branch information...
1 parent 21e46b8 commit e2b5123f37449bacb01e564bfc17897f07537ffa @fnagel fnagel committed
Showing with 17 additions and 12 deletions.
  1. +17 −12 ui/jquery.ui.selectmenu.js
View
29 ui/jquery.ui.selectmenu.js
@@ -84,10 +84,10 @@ $.widget( "ui.selectmenu", {
}));
this.buttonText = $( "<span>", {
- "class": "ui-selectmenu-text" ,
- html: this.element.find( "option:selected" ).text() || "&#160;"
+ "class": "ui-selectmenu-text"
})
.appendTo( this.button );
+ this._setText( this.buttonText, this.element.find( "option:selected" ).text() );
// wrap and insert new button
this.buttonWrap = $( "<span>", {
@@ -260,17 +260,23 @@ $.widget( "ui.selectmenu", {
},
_renderItem: function( ul, item ) {
- var li = $( "<li />" ).data( "ui-selectmenu-item", item );
+ var li = $( "<li />" ).data( "ui-selectmenu-item", item ),
+ a = $( "<a />", { href: "#" });
+
if ( item.disabled ) {
li.addClass( "ui-state-disabled" );
}
- li.append( $( "<a />", {
- html: item.label,
- href: "#"
- })
- );
+ this._setText( a, item.label );
+
+ return li.append( a ).appendTo( ul );
+ },
- return li.appendTo( ul );
+ _setText: function( element, value ) {
+ if ( value ) {
+ element.text( value );
+ } else {
+ element.html( "&#160;" );
+ }
},
_move: function( direction, event ) {
@@ -388,8 +394,7 @@ $.widget( "ui.selectmenu", {
},
_setSelected: function( item ) {
- // update button text
- this.buttonText.html( item.label );
+ this._setText( this.buttonText, item.label );
// change ARIA attr
this.menuItems.find( "a" ).attr( "aria-selected", false );
this.menuItems.eq( item.index ).find( "a" ).attr( "aria-selected", true );
@@ -437,7 +442,7 @@ $.widget( "ui.selectmenu", {
element: option,
index: index,
value: option.attr( "value" ),
- label: option.text() || "&#160;",
+ label: option.text(),
optgroup: optgroup.attr( "label" ) || "",
disabled: optgroup.attr( "disabled" ) || option.attr( "disabled" )
});

0 comments on commit e2b5123

Please sign in to comment.
Something went wrong with that request. Please try again.