JQuery автозаполнение с JQuery 1,4 - PullRequest
1 голос
/ 23 января 2010

Ссылаясь на этот пост и этот пост . Я пытаюсь реализовать поиск тегов для моего блога / веб-сайта, что-то похожее на систему тегов SO, используя плагин автозаполнения jquery , я использую последнюю версию jquery 1.4, поэтому я не уверен, работает ли он с ней или нет, я использовал этот плагин раньше. Так что без дальнейшего jibr-jabr вот мой HTML для автозаполнения:

<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

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

php (1)
asp (1)

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

1 Ответ

1 голос
/ 23 января 2010

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

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

Теперь все работает как шарм ..

...