Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Autocomplete disallow free text entry?

Is it possible to disallow free text entry in the JQuery UI autocomplete widget?

eg I only want the user to be allowed to select from the list of items that are presented in the autocomplete list, and dont want them to be able to write some random text.

I didn't see anything in the demos/docs describing how to do this.

http://jqueryui.com/demos/autocomplete/

I'm using autocomplete like this

$('#selector').autocomplete({     source: url,     minlength: 2,     select: function (event, ui) {         // etc     } 
like image 322
JK. Avatar asked May 25 '10 22:05

JK.


1 Answers

According to the API documentation, the change event's ui property is null if the entry was not chosen from the list, so you can disallow free text as simply as this:

$('#selector').autocomplete({     source: url,     minlength: 2,     change: function(event, ui) {         if (ui.item == null) {           event.currentTarget.value = '';            event.currentTarget.focus();         }     } }); 
like image 73
Neils Avatar answered Oct 19 '22 05:10

Neils