【问题标题】:Why is jQuery autocomplete not popping up?为什么没有弹出jQuery自动完成功能?
【发布时间】:2011-02-03 18:33:22
【问题描述】:

这是精简的源代码:

<html>
    <head>
        <script type="text/javascript" src="/admin/jsi18n/"></script>
        <link href="/media/css/ui-lightness/jquery-ui-1.8.9.custom.css" type="text/css" media="screen" rel="stylesheet" />
        <script type="text/javascript" src="/media/admin/js/core.js"></script>
        <script type="text/javascript" src="/media/admin/js/admin/RelatedObjectLookups.js"></script>
        <script type="text/javascript" src="/media/admin/js/jquery.min.js"></script>
        <script type="text/javascript" src="/media/admin/js/jquery.init.js"></script>
        <script type="text/javascript" src="/media/admin/js/actions.min.js"></script>
        <script type="text/javascript" src="/media/js/jquery-1.4.4.min.js"></script>
        <script type="text/javascript" src="/media/js/jquery.autocomplete.pack.js"></script>
    </head>
    <body> 
        <div>
            <label for="id_postal_code" class="required">Postal code:</label>
            <input type="text" name="postal_code" id="id_postal_code" />
            <script>$('#id_postal_code').autocomplete({source:['one','two','three']});</script>
        </div>
    </body>
</html>

我正在尝试在文本框中输入“o”,但没有出现任何内容。

它将这个autocomplete='off' 属性和class='ac_input' 添加到输入中,所以......它似乎正在正确初始化,我只是不知道为什么没有出现任何东西。

如果我在 Firefox 中查看源代码,ac_input 也会在我每次按键时闪烁,所以它似乎在我每次输入内容时都在设置类,但自动完成永远不会切换到“开启”(我猜它应该在某个时候出现?)。

【问题讨论】:

  • 不应该 $('#id_postal_code').autocomplete({source:['one','two','three']});被包裹在 $(document).ready() 中?
  • @Gazler:我想如果我把它放在 元素之后,我就不必这样做了。那应该确保元素已加载,不是吗?

标签: jquery jquery-autocomplete


【解决方案1】:

把你的电话包装在里面

$(function() { 
  // your code here... 
});

您的 DOM 似乎还没有准备好。

【讨论】:

  • 不,改成$(function(){$('#id_postal_code').autocomplete({source:['one','two','three']});});,没有区别。
【解决方案2】:

你初始化 jQuery 两次 -- admin/jquery.min.js 和 js/jquery-1.4.4.js

尝试修复它。

【讨论】:

  • Django 添加了其中一个,但它设置了noConflict,所以我应该可以有两个副本。
【解决方案3】:

尝试将{source:['one','two','three']} 替换为['one','two','three']

【讨论】:

  • 什么鬼??这不是他们的示例所显示的 (jqueryui.com/demos/autocomplete),但它现在似乎正在工作。想知道为什么会这样......(谢谢)
  • 我也遇到了自动完成无法正常工作的问题。但是,这个解决方案对我不起作用。事实上,这让事情变得更糟:我遇到了运行时错误,因为 source 属性未定义。就我而言,我正在增强一个尚未放入文档流的 jQuery 元素,这似乎是问题所在。通过将增强功能延迟到我将元素插入 DOM 之后,我让它开始工作。但是,像这样传入 just 和数组根本不适合我。
  • @Ates: 刚刚弄清楚原因....我加载了错误版本的自动完成功能!我使用的是来自 bassistance.de 的旧版本,但我认为我使用的是来自 jQuery UI 的新版本。它们都在我的 JS 文件夹中:\
  • @Ates,你能给我你下载自动完成脚本的链接吗
【解决方案4】:

如果上述解决方案或here 均未解决此问题,请务必检查页面标记中的ul.ui-autocomplete 元素并检查z-index。在我的情况下,插件工作正常,元素定位正确,但需要提高 z-index。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-04
    • 2022-01-19
    • 2022-10-16
    • 2012-02-02
    • 1970-01-01
    相关资源
    最近更新 更多