jQuery UI 日期选择器 'previous month' 不起作用

jQuery UI datepicker 'previous month' doesn't work

我在我的站点中实施了 jQuery UI 日期选择器,发现我无法单击 'back' 到上个月。

我的HTML:

<input type='text' id='date'>

初始化脚本:

$( '#date' ).datepicker( {
    numberOfMonths: 4,
    showCurrentAtPos: 1,
    showButtonPanel: true
} );

我用 jquery-ui-1.12.1 加载创建了一个 jsFiddle,它复制了上述问题。我现在解决了这个问题,我切换到 jquery-ui-1.9,但我希望能够使用最新版本。有什么办法可以解决这个问题吗?

我做了一些广泛的调试,正在启动 'prev' 按钮事件,它似乎没有用正确的数据调用更新函数,导致日期选择器首先更新为同月正如它在点击之前显示的那样。

我开始认为这是一个错误,如果我将 showCurrentAtPos 设置为 0 而不是 1,日期选择器会按预期工作 (jsFiddle)

能够使用 jQuery 1.12.4 和 UI 1.12.1 重现问题,匹配演示版本:http://jqueryui.com/datepicker/. Working test: https://jsfiddle.net/Twisty/wkpvbp5u/

如果我注释掉 showCurrentAtPos,它会按预期工作。

JavaScript

$(function() {
  $('#date').datepicker({
    numberOfMonths: 4,
    //showCurrentAtPos: 1,
    showButtonPanel: true
  });
});

所以问题可能出在这个选项的行为上。我也通过将值设置为 -1 作为测试来进一步破坏它。 “下一步”按钮失败。

找到:https://bugs.jqueryui.com/ticket/15129 so looks like you can use jQuery UI 1.11.4 but not 1.12.1. Might be a fix: https://github.com/jquery/jquery-ui/commit/17404ced478a235651513fa7bef3473ef1b039e8

希望对您有所帮助。