jQuery datetimepicker初始化报too much recursion错误如何解决
问题原因
该报错是jQuery DateTimePicker v2.4.3的已知参数冲突bug,核心触发条件如下:
- 你配置的
format为Y.m.d HH:mm,要求值必须同时包含日期和时间,但你传入的value参数maiValue仅为日期格式2021.10.05,和配置的格式不匹配 - 同时你额外传入了
defaultDate、defaultTime参数,且input本身自带value属性值,三个赋值逻辑在组件内部反复触发值校验、解析、补全的循环调用,最终触发栈溢出的递归报错。
解决方案
按优先级任选一种即可:
- 删掉初始化配置中的
value: maiValue、defaultDate: maiNap、defaultTime: maiIdo三项配置,input本身已经有符合格式的默认值2021.10.05 18:00,组件会自动读取该值作为初始值,无需额外赋值 - 如果你需要保留参数赋值,将
value参数调整为和format匹配的完整格式,同时删掉defaultDate和defaultTime配置避免优先级冲突:
$('#dlp2').datetimepicker({ datepicker: true, timepicker: true, // 调整value为完整日期时间格式 value: maiValue + ' ' + maiIdo, lang: 'hu', closeOnDateSelect: true, weeks: true, dayOfWeekStart: 1, format: 'Y.m.d HH:mm', todayButton: true, inline: false, onSelectDate: function (ct, $i) { // $('#datepickerig').val($('#datepickertol').val()); } });
内容的提问来源于stack exchange,提问作者Johnny
相关产品推荐
相关产品推荐

