强制jQuery UI Datepicker显示在输入字段下方

Mau*_*mey 6 html javascript jquery jquery-ui datepicker

我有一个页面,其中包含一个表单和几个字段.我的问题如下:

  1. 我试图强制jQuery UI datepicker显示在输入字段下面.
  2. 当我单击输入字段时,我希望该字段也滚动到页面顶部.我想我有这个工作.

这是我的jQuery:

JQUERY:

$( document ).ready(function() {
    // Set Datepicker
    $(".datepicker").datepicker();

    $("input").focus(function () {
       $('html, body').animate({ scrollTop: $(this).offset().top - 25 }, 10);
   });

});
Run Code Online (Sandbox Code Playgroud)

链接到小提琴:https: //jsfiddle.net/MauriceT/0qfycgm1/10/

这是我想要避免的:

Datepicker显示在输入字段上方

任何建议将不胜感激.谢谢!

Dee*_*eep 9

你可以通过设置日期选择器pop的css来实现你的目标.

使用下面的代码来设置CSS,使用setTimeout是为了避免重写CSS.

在这里,我找到日期时间选择器文本框的顶部和左侧,并使用这些值来设置日期时间选择器弹出窗口的位置

关于beforeShow事件检查的信息在这里.

https://api.jqueryui.com/datepicker/#option-beforeShow

    $(".datepicker").datepicker({
    beforeShow: function (input, inst) {
        setTimeout(function () {
            inst.dpDiv.css({
                top: $(".datepicker").offset().top + 35,
                left: $(".datepicker").offset().left
            });
        }, 0);
    }
}); 
Run Code Online (Sandbox Code Playgroud)

这是小提琴:https://jsfiddle.net/0qfycgm1/14/