jQuery UI Datepicker - 如何始终在顶部显示它:240px?

时间:2015-04-20 10:26:15

标签: jquery css jquery-ui

我的图表中的日期范围选择器已分配了datepicker。 是否有一些简单的方法可以在显示日期选择器时触发操作? 我想在每次打开时执行以下操作:

$("#ui-datepicker-div").css("top","240px");

有beforeShow,但没有afterShow。如果我在我的页面中设置CSS,它会在显示datepicker后动态切换,所以这是不行的。

3 个答案:

答案 0 :(得分:0)

在jQuery论坛上有一个topic打开了同样的问题。

因此,如该主题所示,您可以使用可以从https://github.com/kbwood/jquery-ui下载的重构日期选择器。

这个日期选择器提供了onShow方法,我认为该方法符合您的要求。

您可以尝试使用此https://github.com/kbwood/jquery-ui/blob/master/ui/jquery.ui.datepicker.js

替换datepicker.js文件

答案 1 :(得分:0)

试试这个fiddle

  $(function() {
    $( "#datepicker" ).datepicker();    
  });

答案 2 :(得分:0)

实际上在 THIS LINK 中也提出了一个错误,其中的建议如下:

  

如果您需要" afterShow" -event befor 1.9版,您可以覆盖   datepicker._updateDatepicker功能。

     

例如:

$(function() {
  $.datepicker._updateDatepicker_original = $.datepicker._updateDatepicker;
  $.datepicker._updateDatepicker = function(inst) {
      $.datepicker._updateDatepicker_original(inst);
      var afterShow = this._get(inst, 'afterShow');
      if (afterShow)
          afterShow.apply((inst.input ? inst.input[0] : null));  // trigger custom callback
  }
});
     

我知道这不是解决这个问题的最佳方法,但它更好   而不是更改原始的jquery-ui代码。