gijgo 1.9.14 datepicker如何通过JavaScript禁用与启用?
解决gijgo Datepicker禁用后日历图标仍可点击的问题
针对你使用gijgo 1.9.14版本Datepicker遇到的禁用输入框后图标仍能触发日期选择的问题,提供两种可行方案:
方案一:同时禁用输入框与日历图标按钮
gijgo基于Bootstrap4生成的Datepicker会在输入框旁创建独立的图标按钮,仅禁用输入框不会影响这个按钮的功能。你可以通过选择器定位该按钮并禁用:
// 禁用输入框 $("#startDate").prop('disabled', true); // 找到对应的日历图标按钮并禁用 $("#startDate").closest('.input-group').find('.datepicker-button').prop('disabled', true);
如果按钮的类名不是.datepicker-button,可以通过浏览器开发者工具查看元素,找到图标按钮的具体类或属性(比如带有data-toggle="datepicker"的按钮),调整选择器即可适配。
方案二:使用gijgo动态配置修改(版本兼容时可用)
部分gijgo版本支持通过option方法动态设置组件禁用状态,尝试以下代码:
// 禁用Datepicker组件 $("#startDate").datepicker('option', 'disabled', true); // 如需启用,将参数改为false即可 // $("#startDate").datepicker('option', 'disabled', false);
如果该方法无效,说明你的1.9.14版本不支持此配置,直接使用方案一即可。
另外,若需要在初始化阶段就设置禁用状态,可直接在初始化参数中添加配置:
$("#startDate").datepicker( { calendarWeeks: true, uiLibrary: 'bootstrap4', locale: 'pt-br', value : '<?=date('d/m/Y')?>', format:'dd/mm/yyyy', iconsLibrary: 'fontawesome', disabled: true // 初始化时直接禁用组件 } );
内容的提问来源于stack exchange,提问作者Jorge Carvalho
相关产品推荐
相关产品推荐

