You could try this, similar to what the plugin does for the mustMatch option:
$(".autocomplete").blur(function() { $(this).search(function(result) { if (!result) { // no match found, do something, eg. clearing other fields } }); }); Jörn On Thu, Aug 13, 2009 at 5:25 PM, Billy<billy.swee...@gmail.com> wrote: > > Hi all, > I'm using autocomplete plugin, when the user types something the > backend responds value and key information (for instance: > > John|76178 > Mike|87252 > Peter|87511 > > > Using .result I'm setting the key in a hidden field in my form. > > $('#autocompleteTextboxId').result(function(event, data, formatted) { > if (data) > $('#autocompleteHiddenValueId').val(data[1]); > }); > > But what if the user changes his mind and after choosing "John" types > something else in the textbox (without actually chosing a new option > from the autocomplete options) or even deletes the whole text? As > things are now, the data previously set in the hidden field remains > there. So the user might post the form thinking that his selection is > blank, but the system actually thinks that he selected "76178". > > Is there a way to "clear" the hidden field when the user types > something? > > I tried by setting some action to "focus" so that whenever the user > focuses on the textbox the hidden value is cleared but it seems that > after the user chooses a value in the autocomplete options, the plugin > sets focus to the text field (hence making this action execute, thus > clearing the hidden value everytime). > > $('#autocompleteTextboxId').focus(function() { > $('#autocompleteHiddenValueId').val(''); > }); > > It would be cool if we had something like ".textChanged" (similar to > ".result" above) where we can do some action when the user changes the > text on the field. > > Maybe some of the JS wizards here can suggest something. > > Thanks. >