我对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可以解决它,但我想我会先问。
答案 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
文件中。确保包含它以正确隐藏元素,同时保持可访问性。