代码之家  ›  专栏  ›  技术社区  ›  ant

使用jquery 1.4自动完成jquery

  •  1
  • ant  · 技术社区  · 15 年前

    提到 this post this one . 我正在尝试对我的博客/网站执行标记搜索,类似于使用的so标记系统 jquery autocomplete plugin ,我使用的是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 回复  |  直到 15 年前
        1
  •  1
  •   ant    15 年前

    诀窍是在使用get时使用post而不是get / 将被删除,但当使用“完成后”时,将传递内容,因此自动完成需要进行一些调整(额外一行),如下所示:

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

    现在一切都很顺利……