jQuery UI Datepicker - 如何获得相同宽度的日历和输入字段?

时间:2018-03-24 23:52:36

标签: jquery jquery-ui datepicker jquery-ui-datepicker

问题:最初日历的宽度设置为与输入字段相同。但是,一旦点击上一个/下一个按钮(更改月份),日历宽度将重置。

可能的解决方案:使用像这样的onChangeMonthYear函数,但它不起作用:

onChangeMonthYear: function() {
    $('#ui-datepicker-div').outerWidth($('#thedate').outerWidth());
}

HTML:

<div class="box">
  <input id="thedate" type="text" />
</div>

JS:

$(function(){

    $('#thedate').datepicker({
        dateFormat: 'dd-mm-yy',
        beforeShow: function (input, inst) {
            setTimeout(function() {
                inst.dpDiv.outerWidth($('#thedate').outerWidth());
            },0);
        },
    });

});

JSFIDDLE: http://jsfiddle.net/63x6t1d5/

1 个答案:

答案 0 :(得分:0)

http://jsfiddle.net/cafp58w6/8/

$(function(){
  $('#thedate').datepicker({
    dateFormat: 'dd-mm-yy',
    beforeShow: function (input, inst) {
      setTimeout(function() {
        inst.dpDiv.outerWidth($('#thedate').outerWidth());
      }, 0);
    },
  });

  $('div.ui-datepicker').on('click',function(){
    $(this).outerWidth($('#thedate').outerWidth());
  });
});