强制 jQuery UI 日期选取器显示在输入字段下方
Force jQuery UI Datepicker to display below input field
>我有一个页面,其中包含一个表单和几个字段。我的问题如下:
- 我正在尝试强制jQuery UI日期选择器显示在输入字段下方。
- 当我单击输入字段时,我希望该字段也滚动到页面顶部。我想我有这个工作。
这是我的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/
以下是我想避免的:
日期选取器显示在输入字段上方
任何建议将不胜感激。谢谢!
您可以通过设置日期选择器弹出窗口的CSS来实现目标。
使用下面的代码来设置 CSS,使用 setTimeout 是为了避免 CSS 的覆盖。
在这里,我找到了日期时间选择器文本框的顶部和左侧,并使用这些值来设置日期时间选择器弹出窗口的位置
有关之前显示事件的信息,请在此处查看。
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);
}
});
这是小提琴:https://jsfiddle.net/0qfycgm1/14/
一个简单的解决方法是使用 CSS 调整日历框的前端。
将以下内容添加到您的 CSS 文件中。
.ui-datepicker{
margin-top: 300px;
}
我在您的小提琴链接中尝试过,工作正常。
add
ui-datepicker{
margin-top: 0px;
}
我已将此代码添加到您的小提琴中并对其进行了测试。 希望这会有所帮助。已更新您的小提琴
jquery-ui-(version) 中的以下代码行将对象顶部位置设置为零,因此显示错误。注释代码行,您将获得所需的内容。我花了很多天找到比这更好的解决方案。
偏移量 = $.datepicker._checkOffset( inst, offset, isFixed );
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 而循环只设置php中输入字段中的第一个值
- 在输入字段中将最小金额设置为
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 如何在HTML输入字段中添加不可删除的后缀
- 互斥单选按钮和相应的输入字段
- 在IE9中的输入字段中输入焦点最近按钮
- 选中单选框时将属性添加到输入字段
- 当设置addFromAutocompleteOnly时,剩余文本将保留在输入字段中
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- 在输入字段上有两个函数调用,一个在Blur上,一个不在Angular中
- 输入字段将't获取更新的值
- 如何选择多个输入字段并删除所需的属性
- 输入字段,只接受0到12之间的数字
- 单击鼠标,用MySQL数据填充html表单输入字段
- 使用jquery将输入字段转换为文本
- Model中的Typeahead返回空值以形成输入字段
- 如何从查询字符串中的输入字段发回文本
- 如何验证日期、月份和日期的3个独立输入字段;年使用jquery或javascript
- 将值传递给jquery创建的输入字段