我有一个页面,其中包含一个表单和几个字段 . 我的问题如下:
-
我试图强制jQuery UI datepicker显示在输入字段下面 .
-
当我在输入字段中单击时,我希望该字段也滚动到页面顶部 . 我想我有这个工作 .
这是我的jQuery:
JQUERY:
$( document ).ready(function() {
// Set Datepicker
$(".datepicker").datepicker();
$("input").focus(function () {
$('html, body').animate({ scrollTop: $(this).offset().top - 25 }, 10);
});
});
链接到小提琴:https://jsfiddle.net/MauriceT/0qfycgm1/10/
这是我想要避免的:
Datepicker displays above the input field
任何建议将不胜感激 . 谢谢!
4 回答
你可以通过设置日期选择器pop的css来实现你的目标 .
使用下面的代码来设置CSS,使用setTimeout是为了避免重写CSS .
在这里,我找到日期时间选择器文本框的顶部和左侧,并使用这些值来设置日期时间选择器弹出窗口的位置
关于beforeShow事件检查的信息在这里 .
https://api.jqueryui.com/datepicker/#option-beforeShow
这是小提琴:https://jsfiddle.net/0qfycgm1/14/
一个简单的解决方法是使用CSS为CALENDER Box调整前端 .
将以下内容添加到CSS文件中 .
我在你的小提琴链接中试过它,工作得非常好 .
加
我已将此代码添加到您的小提琴中并进行了测试 . 希望这会有所帮助 . 已更新你的fiddle
来自jquery-ui-(版本)的以下代码行将您的对象顶部位置设置为零,因此显示错误 . 查看您将获得所需内容的代码行 . 我花了很多天才找到比这更好的解决方案 .
offset = $ .datepicker._checkOffset(inst,offset,isFixed);