diff --git a/lib/jquery.uls/src/jquery.uls.core.js b/lib/jquery.uls/src/jquery.uls.core.js index 74f939b7..d536799b 100644 --- a/lib/jquery.uls/src/jquery.uls.core.js +++ b/lib/jquery.uls/src/jquery.uls.core.js @@ -115,8 +115,14 @@ that.$languageFilter.languagefilter( { $target: lcd, languages: that.languages, - success: $.proxy( that.success, that ), - noresults: $.proxy( that.noresults, that ), + success: function() { + $( '.regionselector' ).removeClass( 'active' ); + that.success(); + }, + noresults: function() { + $( '.regionselector' ).removeClass( 'active' ); + that.noresults(); + }, searchAPI: that.options.searchAPI, onSelect: $.proxy( that.onSelect, that ) } ); @@ -129,6 +135,9 @@ // clear the search field. that.$languageFilter.val( '' ); that.success(); + }, + noresult: function() { + that.$languageFilter.languagefilter( 'clear' ); } } ); diff --git a/lib/jquery.uls/src/jquery.uls.languagefilter.js b/lib/jquery.uls/src/jquery.uls.languagefilter.js index ee28065e..b7039012 100644 --- a/lib/jquery.uls/src/jquery.uls.languagefilter.js +++ b/lib/jquery.uls/src/jquery.uls.languagefilter.js @@ -325,9 +325,14 @@ }, click: function( e ) { - e.stopPropagation(); - e.preventDefault(); - this.show(); + if( this.$element.hasClass( 'active' ) ) { + this.$element.removeClass( 'active' ); + if ( this.options.noresult ) { + this.options.noresult.call(); + } + } else { + this.show(); + } } }; @@ -351,6 +356,7 @@ $.fn.regionselector.defaults = { $target: null, // Where to render the results success: null, // callback if any results found. + noresult: null, // callback when no results to show languages: null };