2015-11-12 9 views
5

Ich brauche einige Eingaben auf die multiple Autosuggestion während der Suche. Der Suchstring besteht aus Kategorie, optionalen Kriterien und Wert.Mehrere Autosuggestion in einer Eingabe basierend auf Kategorie und Kriterien

Beispiel: Category.Criteria

Ich versuchte jquery mit dem den automatischen Vervollständigung verwenden, die erste Ebene für die Kategorie von Autosuggest funktioniert gut, wenn der Benutzer eine Kategorie und Typen in wählt Wir sollen das zeigen „“ Kriterien sind für diese Kategorie konfiguriert.

Der zweite Satz automatischer Vorschläge wird nicht sofort angezeigt, wenn der Benutzer eine Kategorie auswählt und ein "." Eingibt, aber er erscheint, sobald wir den Eingabebereich verlassen und wieder zurückkehren.

Hers ist der Code https://jsfiddle.net/krishnanpb/gh32nad6/1/

Schritte: „“ 1. eine Kategorie auswählen und geben, aus dem Eingabebereich bewegen und den zweiten Satz von Vorschlag erscheint refokussieren.

$(document).ready(function() { 
     BindControls(); 
    }); 

    function BindControls() { 
     var Categories = [ 
     "Customer", 
     "Equipment", 
     "Link", 
     "Location", 
     "Network", 
     "Service", 
     "Termination"]; 

     $('#tags').autocomplete({ 
      source: Categories, 
      minLength: 0, 
      scroll: true 
     }).focus(function() { 
      $(this).autocomplete("search", ""); 
     }); 

     $('#tags').bind('keypress', function(e) { 

      var code = (e.keyCode ? e.keyCode : e.which); 
      if(code == 46) { 
      console.log(". pressed"); 
      var Criteria = [ 
      "name", 
      "id"]; 
      } 
      $("#tags").autocomplete({ 
       source: Criteria 
      }); 
     }); 
    } 

html:

Schlagwörter:

Antwort

0

sollten Sie das KeyUp-Ereignis verwenden. Ich habe es auch gezwungen, sich nach der Änderung der Quelle wieder auf die Eingabe zu konzentrieren.

$("#tags").keyup(function(event) { 
    if(event.which == 190) { 
     console.log(". pressed"); 
     var Criteria = ["name", "id"]; 
     $('#tags').autocomplete({ source: Criteria }); 
     $('#tags').focus(); 
    } 
}); 
Verwandte Themen