我在使用jQuery ui自动完成功能时遇到了一个奇怪的问题,直到我不得不打印页面之前,我才注意到它。
每当我使用jQuery ui autocomplete时,它都会将其放在我正在使用的输入中,这是应该执行的操作,但是由于某种原因,它也会将其放在页面主体下。您看不到它,直到您去打印预览,然后它会显示出来。这很烦人,因为我需要能够在不显示页面的情况下打印页面。
现在,我知道它不是我的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可以解决问题,但是我想我先问一下。
罗里(Rory)让我提出了正确的想法,但这是在页面底部隐藏自动完成功能的实际代码。
我将其放置在我的print.css覆盖中,它阻止了将自动完成ui放置在页面底部。
.ui-helper-hidden-accessible{
display:none !important;
}
如果有更好的方法可以解决这个问题,我将非常感兴趣。我不知道为什么必须将自动完成功能放在最底层,但这可以在短期内解决我的问题,但是肯定应该有一个更好的方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句