2010-01-23 4 views
1

Ссылаясь на this post и this one. Я пытаюсь реализовать поиск тегов для своего блога/веб-сайта, похожего на систему тегов SO, используя jquery autocomplete plugin, я использую последнюю версию jquery 1.4, поэтому я не уверен, работает ли она с ней или нет, я использовал этот плагин раньше один раз. Итак, без дальнейших jibr-джабр вот мой HTML для автозаполнения:JQuery автозаполнения с jquery 1.4

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

Вот мой 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> 

Я уверен, что мой PHP часть нормально, это работает как это, когда я Мануалы типа URL-адрес http://localhost/tags/filter/p

I возвращает следующее:

php (1) 
asp (1) 

Значение всех тегов гр на данный момент у меня есть только эти два. Мой вопрос: что я делаю неправильно, я действительно застрял в этом, я много раз менял вещи, теперь я не могу придумать ничего нового, что я хотел бы сделать. Спасибо

ответ

1

Хитрость заключается в том, чтобы использовать пост вместо получить при использовании получить / получает стерто, но при использовании передается после завершения вещи поэтому автозаполнения нуждаются некоторые корректировки (дополнительная одна линии) здесь:

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

Все работает как шарм сейчас.