2010-11-18 4 views
1

J'utilise jQuery Typewatch mais il n'est plus entretenu et j'ai un problème avec ça. Je l'utilise pour alimenter une fonction de recherche ajax. Si l'utilisateur entre un terme de recherche, par exemple "bob", il effectuera le rappel ajax comme prévu. Toutefois, si l'utilisateur, ou un script, efface la zone de texte contenant le terme de recherche et tape à nouveau "bob", il ne déclenche pas le rappel à exécuter.jQuery Typewatch - alternative ou comment créer la même fonctionnalité?

Y at-il une solution à ce problème, ou peut-être un plugin alternatif à jQuery Typewatch ou un moyen de créer la même fonctionnalité (exécuter un rappel après que l'utilisateur a fini de taper)?

Ceci est la base TypeWatch JS. ajaxSearch est une fonction jQuery $.ajax standard.

$("#search").typeWatch({ 
    callback: ajaxSearch, 
    wait: 750, 
    highlight: false, 
    captureLength: 2 
}); 

Répondre

1

Ah, il était explicite des typewatch.js:

// Fire if text > options.minTextLength AND text != saved txt OR if override AND text > options.minTextLength 
//if ((elTxt.length > options.minTextLength && elTxt.toUpperCase() != timer.text) 
if ((elTxt.length > options.minTextLength) 

Je l'ai regardé là d'abord. Mais au moins, cela pourrait aider quelqu'un d'autre.

0

Cela ressemble à un plugin assez simple. J'ai regardé rapidement le code et j'ai l'air simple.

// Fire if text > options.captureLength AND text != saved txt OR if override AND text > options.captureLength 

Cette ligne a attiré mon attention sur le fait qu'elle vérifie la dernière valeur avant de déclencher l'événement. Vous pouvez également réaliser cela en utilisant un simple déclencheur change et une logique personnalisée ou vous pouvez modifier le plugin pour répondre à vos besoins.

Questions connexes