2012-03-28 4 views
0

Ich habe jquery Auto-Vorschläge in meiner Anwendung implementiert, die eine Reihe von Städten enthält. Das Problem ist, dass es alle Zeichenfolgen anzeigt, die die eingegebene Abfrage haben. wenn i how Typ zeigt es alle Fäden, die hat, wie 'in es in zwischen ..Hinzufügen von mehr Sinn für Jquery Auto-Vorschläge

Hier finden Sie die Liste der Ergebnisse i, wenn i how geben, aber ich ziehe es in einer anderen Reihenfolge zu bekommen, die ich descrided und ich möchte keine anderen Ergebnisse zeigen. Ich möchte keine anderen Ergebnisse zeigen.

Bhowra Bh 
Chalk howa <--------------------------------This should come third 
Chowka Ghat 
Chowrigacha 
Howbagh Jabalpur <--------------------------This should come first 
Howrah <------------------------------------This should come second 
Khowang 
Ladhowal 
Majhowalia 
MHOW 
Mhow 
Mount Howrah <------------------------------This should come fourth 
Pehowa Road 
Pipalwali Chowki 
Saheed Ishwar Chowdhary H 

Wie funktioniert dies? Hier ist der Code, den ich benutze .. oder gibt es eine andere Möglichkeit, dies in Javascript ohne jquery zu erreichen ..?

$(".selector").autocomplete(/*parameters*/); 

HINWEIS: ich ein Array verwenden, um die Städtenamen zu speichern und sie als Quelle für Auto-Vervollständigen verwenden. Und ich benutze nicht AJAX

+2

Sie müssten einen Gewichtungsalgorithmus entwickeln, der jeden übereinstimmenden Wert feststellt, wenn es sich um den gleichen Fall handelt, wie nahe am Anfang des Werts die Übereinstimmung liegt und anhand Ihres Beispiels, wie lang der Wert ist . –

+0

Wie entscheiden Sie die Bestellung? Was ist dein Kriterium? –

+0

@juzerali Der erste und zweite beginnt mit "wie" und der dritte und vierte hat das zweite Wort beginnend mit "wie" –

Antwort

0

Sie können einen Rückruf verwenden, um die Filterung und Sortierung selbst durchzuführen.

$(".selector").autocomplete(
    source: function(request, response) { 
       // filter parameters based on request.term 
       response(/*params*/, request.term); 
      } 
); 

Es ist auch möglich, den Suchbegriff an diesem Punkt zu ändern, aber das würde in diesem Fall nicht funktionieren.

+0

Ich benutze keine Ajax ich benutze lokales Array ... –

+0

Es ist kein Ajax. Anstatt ein Array direkt zu verwenden, ist dies eine Möglichkeit, eine lokale Funktion zu verwenden, die das Array und/oder den Suchbegriff ändern kann. Es ist ein Rückruf, aber es gibt keine Ajax-Anfrage. – Kapep

Verwandte Themen