强制Jquery-UI Datepicker在输入下打开?

时间:2018-01-06 17:56:09

标签: jquery html jquery-ui

我正在使用带有Jquery-Ui的Datepicker,我需要它始终显示在输入下。

我检查了API文档,用Google搜索并在Stackoverflow上搜索它,但我找不到解决方案:我尝试了这些代码:

@SuppressWarnings("deprecation")

__

popup: {
    position: "bottom left",
    origin: "top left"
},

任何人都知道如何做到这一点?

2 个答案:

答案 0 :(得分:2)

可以使用内联日期选择器执行此操作。

工作示例:https://jsfiddle.net/0e3njzoe/2/

<强> HTML

<div class="tall">
  Tall Div
</div>
<label for="myDate">Date</label>
<input type="text" id="myDate" />
<div id="myDatePicker"></div>

<强>的JavaScript

$(function() {
  $("#myDatePicker").datepicker({
    onSelect: function(date) {
      $("#myDate").val(date);
      $("#myDatePicker").hide();
    }
  }).position({
    my: "left top",
    at: "left bottom",
    of: $("#myDate"),
    collision: "none"
  }).hide();
  $("#myDate").focus(function() {
    $("#myDatePicker").show();
  })
});

您可以在任何地方放置日期选择器,然后使用.position()将其放在输入字段下。默认情况下,如果检测到碰撞,它将尝试翻转。你可以关闭它。查看更多:http://api.jqueryui.com/position/

要管理一些额外的工作,但它会为您提供您正在寻找的控制权。

答案 1 :(得分:0)

Twistys答案的替代答案。

Jquery UI Datepicker默认情况下显示输入下的日历,如果没有,大多数情况下它根本没有输入空间,就像我的情况一样。

所以只需更改Datepicker的大小,它就会显示在输入下。

y.append(value_new(y[-1], derivative(i)))