2009-05-08 3 views
1

Ich habe schnell gestern eine erstaunliche Antwort schnell über die best autocomplete option for what I needed.jQuery Quicksearch markieren Ergebnisse mit onAfter Funktionsaufruf?

glaube ich die onAfter function call from QuickSearch verwenden kann, ist die SearchHighlight plugin to highlight the text I am typing in.

zu nennen das machbar? Es fällt mir schwer, es zur Arbeit zu bringen.

<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> 
     <title>rikrikrik - quickSearch jQuery plug-in - List items</title> 
     <script src="jquery.js" type="text/javascript" charset="utf-8"></script> 
     <script src="jquery.quicksearch.js" type="text/javascript" charset="utf-8"></script> 
     <script src='jquery.SearchHighlight.js'></script> 
     <script type="text/javascript" charset="utf-8"> 
      $(document).ready(function() {    
       $('ul#a li').quicksearch({ 
        attached: 'ul:first', 
        position: 'before', 
        labelText: 'Search all countries beginning with A', 
        inputText: 'Search', 
        loaderImg: 'loader.gif', 
        loaderText: 'Searching...' 
        onAfter: ('ul#a li').SearchHighlight(partial) 

Antwort

2

Es sieht so aus, als ob dieses Plugin an einem regulären Ausdruck arbeitet, der die Schlüsselwörter aus der Referrer-URL analysiert. Ich sehe nicht, dass Sie die Optionen für das SearchHighlight-Plugin ändern, sodass Sie mit der Standardkonfiguration arbeiten. Das bedeutet, dass es nicht über Ihre Such-Textbox weiß und es nicht weiß, wie Sie die Schlüsselwörter trotzdem abrufen können. Es sieht so aus, als ob Sie die Option "Schlüssel" verwenden können, um sie für die Verwendung bestimmter Schlüsselwörter neu zu konfigurieren.

So müssen Sie Ihren Anruf SearchHighlight zu so etwas ändern:

 $(document).ready(function() { 
     $('ul#a li').quicksearch({ 
     attached: 'ul:first', 
     position: 'before',         
     labelText: 'Search all countries beginning with A',         
     inputText: 'Search',         
     loaderImg: 'loader.gif',         
     loaderText: 'Searching...', 
     onAfter: function() { $('ul#a li').SearchHighlight({ exact: "partial", keys: $('.qs_input').val() }); 
    }); 

wo search_box die ID Ihres Textbox ist.

BEARBEITEN: Ha! Meine Syntax war weit weg. Das tut mir leid. Der obige Code sollte für Sie funktionieren. Auch das ist vielleicht nicht so toll, weil es keine Möglichkeit gibt, die Lichter zurückzusetzen, wenn Sie die Suchzeichenfolge ändern.

+0

Die Standard-ID für das Suchfeld ist "Quicksearch" gemäß der Schnellsuchseite. Ich habe das eingesteckt und das gesamte Suchfeld verschwindet. Es gibt keine html/element_id in Bezug auf das Suchfeld. – cornbread

+1

Ich habe den Code korrigiert; Dein Suchfeld verschwand, weil das, was ich dir gesagt habe, einen Javascriptfehler verursacht hat. Wie auch immer, das Suchfeld hat eine Klasse von qs_input, also habe ich das stattdessen verwendet. Schien für mich zu arbeiten. – samiz

+0

Das sieht so aus, als müsste es funktionieren. Ich habe es bei der Arbeit gelassen und werde es am Montag ausprobieren. Vielen Dank. Ich denke, ich kann einen Weg finden, den hervorgehobenen Text zu entfernen. – cornbread

Verwandte Themen