Bootstrap Datepicker v1.6.4一次声明出现双实例问题求助
解决Bootstrap Datepicker v1.6.4出现两个日期选择器的问题
看起来你遇到的这个重复渲染问题,是v1.6.4版本里一个容易踩的小坑——主要原因是你初始化后直接修改了datepicker实例的hide方法,再通过jQuery插件调用show时,触发了额外的实例渲染逻辑。下面给你几个针对性的解决方案:
方案1:用初始化配置替代重写内部方法(推荐)
从你重写hide方法的操作来看,应该是想阻止日期选择器自动关闭?其实完全不用修改内部方法,直接在初始化时配置对应的选项就行:
$input = $("#datepicker"); // 链式调用,避免多次操作DOM和实例 $input.datepicker({ format: 'dd MM yyyy', autoclose: false, // 核心:选择日期后不自动关闭选择器 todayHighlight: true // 可选:高亮今天日期 }).datepicker('show');
方案2:正确操作实例,避免重复触发
如果你确实需要自定义hide方法,别通过jQuery插件再调用show,直接操作实例本身的方法更稳妥:
$input = $("#datepicker"); // 初始化同时获取实例 var dpInstance = $input.datepicker({ format: 'dd MM yyyy' }).data('datepicker'); // 重写hide方法 dpInstance.hide = function() {}; // 直接调用实例的show方法 dpInstance.show();
方案3:检查重复引入问题
另外也排查下你的页面,确保只引入了一次Bootstrap Datepicker的JS和CSS文件——重复引入资源是导致这类重复渲染问题的常见原因,尤其是在ASP.NET MVC的布局页和视图页混合引用的场景下。
按照上面的方法调整后,应该就能正常显示单个完整的日期选择器了。
内容的提问来源于stack exchange,提问作者3 rules
相关产品推荐
相关产品推荐

