执行onSelect后显示jQuery datepicker

时间:2018-05-26 13:43:21

标签: jquery jquery-ui

我使用jQuery datepicker 1.11.4并使用两个日历。在首先选择日期后,我只想选择第二个日历并显示它,但日历显示一秒钟并隐藏在那之后。有些东西正在改变他的“显示”(css属性)为“无”。

这是我的代码:

$("#edit-to--2").datepicker({
  dateFormat: 'D, dd M',
  showAnim: "slideDown",
  changeYear: true
});
$('#edit-from--2').datepicker({
  dateFormat: 'D, dd M',
  changeYear: true,
  showAnim: "slideDown",
  minDate: new Date(),
  onSelect: function () {
     var date = $(this).datepicker("getDate");
     date.setDate(date.getDate() + 7);
     $("#edit-to--2").datepicker("option", "minDate", date);
     $("#edit-to--2").datepicker("show");
  }
});

1 个答案:

答案 0 :(得分:1)

正在发生这种情况,因为您可以尝试调试内部动画间隔(13毫秒)。您可以使用.focus()Timeout功能显示超时时间超过动画间隔时间。

$(function(){

$("#edit-to--2").datepicker({
  dateFormat: 'D, dd M',
  showAnim: "slideDown",
  changeYear: true
});
$('#edit-from--2').datepicker({
  dateFormat: 'D, dd M',
  changeYear: true,
  showAnim: "slideDown",
  minDate: new Date(),
  onSelect: function () {
    debugger;
     var date = $(this).datepicker("getDate");
     date.setDate(date.getDate() + 7);
     $("#edit-to--2").datepicker("option", "minDate", date);
       setTimeout(function(){$("#edit-to--2").datepicker("show") }, 13); 
  }
});
});

来源:https://stackoverflow.com/a/11653716/3449045

Codepen:https://codepen.io/anon/pen/qYerGd

在提问之前请先谷歌。

希望这有帮助。

Edit1:固定链接。