如果点击下一个,日期选择器关闭

时间:2015-07-27 12:37:52

标签: jquery jquery-ui

我正在使用jquery ui datepicker plugIn(http://www.kindli.ch)。不幸的是,如果我点击下一个或上一个图标,孔日历会立即更改并关闭。 jQuery更新了,ui datepicker也是最新版本。

我的代码:

if($('input#datepicker_arr').length) {
                      $('#datepicker_arr').datepicker({
                        dateFormat: 'dd.mm.yy',
                        monthNames: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],
                        dayNames: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag','Samstag'],
                        dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
                        numberOfMonths: 3,

                      });
                    }

感谢您的帮助。

祝你好运 托马斯

1 个答案:

答案 0 :(得分:1)

问题是由于click上的document事件处理程序,

$(document).click(function (e) {
     var target = e.target;
     if (!$(target).is('.hasDatepicker')) $(".hasDatepicker").datepicker("hide");
 });

因此,您已检查$(target).is('.hasDatepicker')hasDatepicker类只出现在input而非datepicker面板上。

有关详细信息,请参阅图片:enter image description here

所以,为了实现类似的功能,你可以使用类似的东西,

 $(document).click(function (e) {
     var target = e.target;
     //If it is input Do nothing
     if ($(target).is('.hasDatepicker')) return true;
     //If current element has parent called ui-datepicker-div do nothing
     if (!$(this).closest('.ui-datepicker-div'))   
          $(".hasDatepicker").datepicker("hide");
 });

See the Working Demo