需求说明:选择开始时间,结束时间(不论先后),判断条件:结束时间不能早于开始时间,如果不符条件则提示弹窗以及清空当前时间
试错过程:
1.使用val()
$(#borrowedEndTime).val('')
2.使用日期选择器的done回调,通过.value赋值
done: function (data) {
this.value = data;
this.elem.val(data)
}
3.手动执行清空按钮
$('.laydate-btns-clear').click()
最后解决方法:先清除组件再渲染
initDate('borrowedEndTime')
function initDate(type) {
if (type == 'borrowedEndTime') {
laydate.render({
elem: '#borrowedEndTime',
type: 'datetime',
min: new Date().getTime(),//只能选择当前日期后的时间
done: function (value, date) {
var borrowedStartTime = $("#borrowedStartTime").val()
var borrowedEndTime = value
if (borrowedStartTime != '' && borrowedEndTime != '') {
var dateStart = new Date(borrowedStartTime);
var dateEnd = new Date(borrowedEndTime);
var num = dateEnd - dateStart;//时间戳之差
var borrowDays = num / 1000 / 60 / 60 / 24;
if (borrowDays >= 0) {
$("#borrowDays").val(parseInt(borrowDays))
} else {
layer.alert("结束时间不能在开始时间之前")
clearDate(type)
}
}
}
});
}
}
function clearDate(type){
if (type == 'borrowedEndTime'){
var parent=$("#borrowedEndTime").parent();
$("#borrowedEndTime").remove(); //删除开始时间的input元素
$(parent).append('<input type="text" id="borrowedEndTime" name="borrowedEndTime" required lay-verify="required" placeholder="请选择借阅结束时间" autocomplete="off" class="layui-input">');
}
initDate(type);
}