jQuery多日期选择器选中往期日期后自动跳转至当前月问题求助
解决jQuery MultiDatesPicker选中往期日期后自动跳转当前月的问题
嘿,这个问题我遇到过,不是你缺少JS文件啦,你的引用都是完全正确的——这其实是这个多选日期插件的默认行为:选中日期后会自动切回当前月份视图。不过咱们可以通过自定义回调来改掉这个逻辑,让它乖乖停在选中日期的月份里!
修改后的代码方案
只需要在初始化插件时添加onSelect回调,强制控件跳转到选中日期所在的月份即可:
$(document).ready(function() { $('#datePick').multiDatesPicker({ numberOfMonths: 2, minDate: new Date(2018, 9, 1), maxDate: new Date(), // 新增选中日期后的回调逻辑 onSelect: function(dateText, inst) { // 解析选中的日期字符串为Date对象 const selectedDate = new Date(dateText); // 让日期选择器跳转到选中的日期所在月份 $(this).datepicker('gotoDate', selectedDate); } }); });
原理说明
onSelect是jQuery UI DatePicker(这个多选插件基于它开发)的内置回调,会在用户选中任意日期时触发datepicker('gotoDate', selectedDate)方法可以强制控件跳转到指定日期的视图,这样就能锁定在选中日期的月份,不会自动跳回当前月- 因为你设置了
numberOfMonths: 2,所以控件会显示选中日期所在月份和下一个月的视图,完全符合你的需求
效果验证
现在你再选中2018年10月或者其他往期月份的日期,控件会自动切换到该日期所在的双月视图,直到你手动点击箭头切换月份为止。
内容的提问来源于stack exchange,提问作者The Khaleesi
相关产品推荐
相关产品推荐

