JQuery UI Autocomplete: Effacer le critère de recherche précédent

Sur l'événement keydown de l'jQuery UI Autocomplete widget le cas de défaut de déclaration a le code suivant:

default:
    //keypress is triggered before the input value is changed
    clearTimeout( self.searching );
    self.searching = setTimeout(function() {
        //only search if the value has changed
        if ( self.term != self.element.val() ) {
            self.selectedItem = null;
            self.search( null, event );
        }
    }, self.options.delay );
    break;

De ce que je peux voir la sixième ligne du code ci-dessus empêche l'exécution si l'utilisateur tape dans la même valeur à deux reprises. Cela a un sens, la plupart du temps, mais dans mon scénario, il est à l'origine du problème.

Je suis de la construction d'une application ajax qui a un en-tête fixe avec un terme de recherche dans la partie supérieure. L'utilisateur peut taper dans tout ce qu'ils veulent dans la boîte de recherche et une div qui s'affiche avec les résultats de recherche correspondant à leur requête. Si l'utilisateur tape dans " abc " et clique sur un résultat, il charge la page correspondante via ajax et efface la zone de recherche. Le problème est que si ils les types d'utilisateurs de " abc " encore une fois, la méthode de recherche n'est pas déclenché que ce qu'ils ont tapé correspond à ce qu'ils dernier recherché.

Est-il un moyen pour désactiver l'auto.la valeur stockée dans le widget lorsque l'utilisateur clique sur un résultat de recherche? Ou est-il une autre façon de résoudre mon problème sans avoir à faire cuire jusqu'à ma propre version de la saisie semi-automatique widget?

Grâce

source d'informationauteur Nick Olsen