jquery ui自动完成出现在页面底部

时间:2016-11-01 10:03:26

标签: jquery jquery-ui autocomplete

我对jquery ui自动完成有一个奇怪的问题,在我打印页面之前我从未注意过它。

每当我使用jquery ui自动完成时,它会将它放在我正在使用的输入中,这是它应该做的,但由于某种原因它也将它放在页面体下。在你去打印预览然后显示之前,你看不到它。 这很烦人,因为我需要能够在没有显示的情况下打印我的页面。

现在我知道这不是我的html缺少div或任何东西,因为它在每个页面都有,并且页面的格式完全不同。

我正在使用jquery 3.0.0和jquery ui v1.12.0

我的输入在大多数页面上非常正常,例如

<input type="text" id="searchcash" placeholder="Search by Reference or Reason" size="50" Value="">

我的jquery代码也非常标准

$("#searchcash").autocomplete({
    source: "ajax/cash.php",
    minLength: 2,//search after two characters
        select: function(event,ui){
            $('#line_id').val(ui.item.id);  
        },
        change: function (event, ui) {
            if (!ui.item) {
                $(this).val('');
            }
        }

我想知道是否有人遇到过这个问题,并且能够解决它。我想知道如果换一个更新的jquery ui可以解决它,但我想我会先问。

3 个答案:

答案 0 :(得分:5)

Rory让我了解了正确的想法,但这里是隐藏页面底部打印自动完成的实际代码。

我把它放在我的print.css覆盖中,它阻止它将自动完成ui放在页面底部。

.ui-helper-hidden-accessible{
    display:none !important;
}

如果有更好的方法,我会感兴趣,直到那时这才是答案。 我不知道为什么自动完成必须在底部,但这短期内解决了我的问题,但肯定会有更好的方法。

答案 1 :(得分:1)

我们遇到了同样的问题。问题来自更改jQuery版本。添加了jQuery migrate文件,它解决了这个问题。

答案 2 :(得分:0)

jQuery CSS {% extends "base.html" %} {% load static %} {% block title %} {{ title }} {% endblock title %} {% block hero %} <picture class="hero__background"> <img src="{% static 'top_banner.jpg' %}" alt="" srcset=""> </picture> {% endblock hero %} 在官方.ui-helper-hidden-accessible文件中。确保包含它以正确隐藏元素,同时保持可访问性。