2010-09-02 7 views

Répondre

1

Voici un tutoriel par farrukhaziz sur la façon d'ajouter cette fonctionnalité au plugin: http://plugins.jquery.com/node/10336

Vous devrez modifier le code source du plugin. Ajoutez la partie 'LaunchManual' à cette section de la source.

 flushCache: function() { 
       return this.trigger("flushCache"); 
     }, 
     setOptions: function(options){ 
       return this.trigger("setOptions", [options]); 
     }, 
     unautocomplete: function() { 
       return this.trigger("unautocomplete"); 
     }, 
     launchManual: function() {       //ADD THIS 
       return this.trigger("launchManual"); 
     } 

et le bit 'LaunchManual' dans cette section:

 }).bind("flushCache", function() { 
       cache.flush(); 
     }).bind("setOptions", function() { 
       $.extend(options, arguments[1]); 
       // if we've updated the data, repopulate 
       if ("data" in arguments[1]) 
         cache.populate(); 
     }).bind("unautocomplete", function() { 
       select.unbind(); 
       $input.unbind(); 
       $(input.form).unbind(".autocomplete"); 
     }).bind("launchManual", function() {    //ADD THIS 
       if(!cache.load($input.val())) 
       { 
         cache.flush(); 
         cache.populate(); 
       } 
       lastKeyPressCode = KEY.DOWN; // equivalent of 40 (down arrow) 
       onChange(0, true); 
     }); 

Ensuite, vous pouvez appeler la fonction pour afficher le menu déroulant:

$('#textbox').click(function() { 
    $(this).launchManual(); 
}); 
0

Essayez ceci:

$('#textbox').click(function() { 
    $(this).trigger('focus'); 
}); 
+0

il ne fonctionne pas –

0

pour cette solution:

var input = $('#myinput'); 

input.autocomplete(data, {minChars: 0}); 
input.focus(function(){ input.keypress(); });