diff --git a/js/widgets/forms/select.custom.js b/js/widgets/forms/select.custom.js index 38c46074bee..00ddd96bd71 100644 --- a/js/widgets/forms/select.custom.js +++ b/js/widgets/forms/select.custom.js @@ -330,10 +330,8 @@ $.widget( "mobile.selectmenu", $.mobile.selectmenu, { .find( "a" ).removeClass( $.mobile.activeBtnClass ).end() .attr( "aria-selected", false ) .each(function( i ) { - + var item = $( this ); if ( $.inArray( i, indices ) > -1 ) { - var item = $( this ); - // Aria selected attr item.attr( "aria-selected", true ); @@ -348,6 +346,9 @@ $.widget( "mobile.selectmenu", $.mobile.selectmenu, { } } } + else if ( self.isMultiple ) { + item.find( "a" ).removeClass( "ui-checkbox-on" ).addClass( "ui-checkbox-off" ); + } }); }, diff --git a/tests/unit/select/select_core.js b/tests/unit/select/select_core.js index 7a0b2306773..43a62dc583e 100644 --- a/tests/unit/select/select_core.js +++ b/tests/unit/select/select_core.js @@ -12,6 +12,20 @@ deepEqual( $( "#enhance-test-listbox a:first" ).attr( "role" ), "button", "The close button for a multiple choice select popup has the " + '"' + "role='button'" + '"' + " set" ); deepEqual( popup.popup( "option", "overlayTheme" ), "b", "Popup has overlayTheme b" ); deepEqual( popup.popup( "option", "theme" ), "x", "Popup has theme x" ); + + }); + + module( "Custom select Multiple" ); + + test( "Custom select multiple is cleared correctly", function() { + var popup = $( "#enhance-test-listbox" ); + $("#enhance-test") + .find("option") + .attr("selected", false) + .prop("selected", false) + .end() + .selectmenu("refresh"); + deepEqual(popup.find(".ui-checkbox-on").length,0,"Checkboxes should not have ui-checkbox-on class"); }); module( "Native select" );