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

Tho*_*ams 4 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="">
Run Code Online (Sandbox Code Playgroud)

我的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('');
            }
        }
Run Code Online (Sandbox Code Playgroud)

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

Tho*_*ams 6

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

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

.ui-helper-hidden-accessible{
    display:none !important;
}
Run Code Online (Sandbox Code Playgroud)

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