2010-01-23 8 views
1

En se référant à this post et this one. J'essaie d'implémenter la recherche de balise pour mon blog/site web quelque chose de similaire au système de balise SO en utilisant jquery autocomplete plugin, j'utilise jquery 1.4 dernière version donc je ne suis pas sûr que ça marche ou pas, j'ai utilisé ce plugin avant une fois. Alors sans plus jibr-Jabr ici est mon html pour autocomplete:Jquery autocomplete avec jquery 1.4

<input id="post-tags" class="ac_input" type="text" autocomplete="off" value="" name="post_tags"/> 

Voici mon javascript:

<script type="text/javascript"> 
    $(document).ready(function(){ 

function findValueCallback(event, data, formatted) { 
    $("<li>").html(!data ? "No match!" : "Selected: " + formatted).appendTo("#result"); 
} 

function formatItem(row) { 
    return row[0] + " (<strong>id: " + row[1] + "</strong>)"; 
} 
function formatResult(row) { 
    return row[0].replace(/(<.+?>)/gi, ''); 
} 

$("#post_tags").autocomplete("http://localhost/tags/filter/", { 
    width: 260, 
    selectFirst: false 
}); 

$("#clear").click(function() { 
    $(":input").unautocomplete(); 
}); 


    }); 
    </script> 

Je suis sûr que ma part de php est ok, cela fonctionne comme ça quand je manualy le type l'url http://localhost/tags/filter/p

Je renvoie les éléments suivants:

php (1) 
asp (1) 

Signification tous les tags c Je n'ai plus que ces deux-là. Ma question est, qu'est-ce que je fais mal, je suis vraiment coincé sur celui-ci, j'ai changé les choses autour de tant de fois maintenant je ne peux pas penser à quelque chose de nouveau que je voudrais faire. Merci

Répondre

1

L'astuce consiste à utiliser après au lieu de chercher, lors de l'utilisation se / est effacé, mais lors de l'utilisation après chose complète est passée de sorte que le autocomplete a besoin de quelques ajustements (en plus d'une ligne) ici est:

$.ajax({ 
       type: "post", // This is the new line 
       // try to leverage ajaxQueue plugin to abort previous requests 
       mode: "abort", 
       // limit abortion to this input 

Tout a fonctionné comme un charme maintenant ..