2012-04-09 8 views
3

Ich benutze jquery Autocomplete pluguin. Konfiguriert für die Verwendung mehrerer Werte.minLength in jquery Autocomplete mehrere Werte Plugin

I set Option minLength: 2

minLength Option funktioniert nur Autosuggest Worte für den ersten, für mehrere Werte seine nicht funktioniert.

Wie konfiguriere ich oder welche Methode muss ich überschreiben, um dieses Problem zu beheben?

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

+0

Also ... wo ist Ihr Code? Es ist sehr schwierig bis unmöglich, Ihnen zu helfen, ohne zu sehen, mit was Sie arbeiten. Vielen Dank! – jmort253

Antwort

6

Die mehrere Remote-Demo auf der Website jQuery UI zeigt dieses Verhalten. Sie müssen nur eine benutzerdefinierte Suchfunktion hinzuzufügen:

$('#autocomplete').autocomplete({ 
    search: function() { 
     // custom minLength 
     var term = extractLast(this.value); 
     if (term.length < 2) { 
      return false; 
     } 
    } 
}); 

See: http://jqueryui.com/demos/autocomplete/#multiple-remote

+0

Danke Chirstian Vargan. Ich habe meine Antwort erhalten. – minil

0

ich ab 2012 sehr nützlich Christian-Version gefunden, aber hier ist eine überarbeitete Version, die im Jahr 2016 (jQuery UI 1.12.0) funktioniert:

function split(val) { 
    return val.split(/\s+/); 
} 

function extractLast(term) { 
    return split(term).pop(); 
} 

source: function(request, response) { 
    // delegate back to autocomplete, but extract the last term 
    const term = extractLast(request.term) 
    if (term.length < this.options.minLength) { 
    return false; 
    } 
    response($.ui.autocomplete.filter(
    data, term)); 
} 

die minLength Option muss nur wie gewohnt zur Verfügung gestellt werden und wird dann innerhalb der source Funktion verwendet werden. Siehe Demo, wenn mehr Kontext benötigt wird.

Demo