Permalink
Browse files

Autocomplete (combobox demo): Detect valid entries when typed, but no…

…t selected from menu. Fixes #5605 - Autocomplete combobox demo does not accept valid values.
  • Loading branch information...
1 parent ba09165 commit 5d1e29764024128e9cc71a19589cfe11e6241242 @scottgonzalez scottgonzalez committed Jul 20, 2010
Showing with 15 additions and 5 deletions.
  1. +15 −5 demos/autocomplete/combobox.html
@@ -29,7 +29,7 @@
delay: 0,
minLength: 0,
source: function( request, response ) {
- var matcher = new RegExp( request.term, "i" );
+ var matcher = new RegExp( $.ui.autocomplete.escapeRegex(request.term), "i" );
response( select.children( "option" ).map(function() {
var text = $( this ).text();
if ( this.value && ( !request.term || matcher.test(text) ) )
@@ -54,10 +54,20 @@
},
change: function( event, ui ) {
if ( !ui.item ) {
- // remove invalid value, as it didn't match anything
- $( this ).val( "" );
- select.val( "" );
- return false;
+ var matcher = new RegExp( "^" + $.ui.autocomplete.escapeRegex( $(this).val() ) + "$", "i" ),
+ valid = false;
+ select.children( "option" ).each(function() {
+ if ( this.value.match( matcher ) ) {
+ this.selected = valid = true;
+ return false;
+ }
+ });
+ if ( !valid ) {
+ // remove invalid value, as it didn't match anything
+ $( this ).val( "" );
+ select.val( "" );
+ return false;
+ }
}
}
})

0 comments on commit 5d1e297

Please sign in to comment.