【问题标题】:Why JQuery Autocomplete is not executing?为什么 JQuery 自动完成没有执行?
【发布时间】:2009-05-01 09:39:09
【问题描述】:

我有一个非常有趣的案例,其中 JQuery 自动完成字段在我第一次在 TextBox 中键入时没有响应,但是当我在 TextBox 之外进行 TAB 然后第二次将光标返回到 TextBox 时它开始响应当我开始输入时,结果就会显示出来。

当我使用firebug时,我实际上可以看到我的应用程序中的AJAX函数被调用并且结果返回到html模板,但是结果没有显示,可能是什么导致了这种行为?

我的函数绑定代码:

  $(function()
  {
    $(document).ready(function(){
       $("#tags1").bind("keyup",autoFill)
      });
   });

我的自动完成功能

 function autoFill(){
           $("#tags1").autocomplete("/taglookup/", {
        width: 320,
        max: 4,
        highlight: false,
        multiple: true,
        multipleSeparator:",",
        scroll: true,
        scrollHeight: 300,
        delay: 10
         });
       }

我的文本框字段:

 <input type="text" style="width: 400px" id="tags1" name="tags1" value="">

【问题讨论】:

    标签: jquery html autocomplete


    【解决方案1】:

    为什么要在 keyup 上调用 autocomplete()?我认为这可能会导致您的问题。我会尝试直接从文档就绪事件中调用 autocomplete()。

    $(document).ready(function(){
    
            $("#tags1").autocomplete("/taglookup/", {
            width: 320,
            max: 4,
            highlight: false,
            multiple: true,
            multipleSeparator:",",
            scroll: true,
            scrollHeight: 300,
            delay: 10
             });
    
          });
    

    【讨论】:

      【解决方案2】:

      如果您使用的自动完成功能与我今天使用的相同(抱歉,在另一台计算机上 - 无法找出确切的版本) - 那么您不需要在 keyup 上绑定 - 只需在启动时绑定一次 -

      <script>
          $('#tags1').autocomplete(....);
      </script>
      

      自动完成功能处理所有按键/焦点变化等。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-07-01
        • 1970-01-01
        • 2013-10-10
        • 1970-01-01
        • 2011-11-26
        • 2019-02-23
        • 2015-11-17
        相关资源
        最近更新 更多