版本
bootstrap-3.3.7
bootstrap-datetimepicker 2.4.4
1、bootstrap-datetimepicker的打开和关闭都会触发到modal的show和hide事件,影响到modal的使用。
原因是bootstrap-datetimepicker的show和hide事件冒泡造成的。
解决方法: 调用stopPropagation方法阻止show和hide事件冒泡,代码如下
// 日期控件初始化
$("#birthday").datetimepicker({
bootcssVer:3,
format: 'yyyy-mm-dd',
minView: 'month',// 设置时间选择为年月日 去掉时分秒选择
todayBtn: true,
language: 'zh-CN',
autoclose: true, // 当选择一个日期之后是否立即关闭此日期时间选择器。
keyboardNavigation: true, // 是否允许通过方向键改变日期。
forceParse: true, // 当选择器关闭的时候,是否强制解析输入框中的值。
todayHighlight: 1 //如果为true, 高亮当前日期
}).on("hide", function(event) {
event.stopPropagation();// 阻止调用modal的隐藏事件
}).on("show", function(event) {
event.stopPropagation();// 阻止调用modal的show事件
});
2、bootstrap-datetimepicker和bootstrapvalidator一起使用验证失效的问题。
现象:如下,当第一次验证失败,再去选择日期的时候,发现验证器无效。
原因: bootstrapvalidator默认不会对验证成功或失败的再次验证。
解决方法: 加上trigger:'change'
即可当日期改变时触发验证。代码如下
birthday: {
trigger:'change',// 日期改变时触发验证,不然选择日期后不验证
validators: {
notEmpty: {
message: '生日不能为空'
}
}
}