由于layDate的时期控制初使化后是无法二次渲染的,
项目中用的是两个时间控件,当选择第一个控件后第二个控制里的最大时间和最少时间要在第一个控件的基础上进行修改
所以想了很久最后决定用删除原元素再新增一个同样的元素来解决这个问题
代码如下
lay('.selectTime').each(function () {
var that = this;
var layDate = layui.laydate;
var firDate = layDate.render({
elem : this,
theme : '#393D49',
calendar : true,
max: new Date().getTime(),
done: function(value, date, endDate){
if(typeof $(that).attr('max-min') === 'string'){
$('input[name$="DateEnd"]').each(function () {
var clone = $(this).clone().appendTo($(this).parent().empty())[0];//解决最大和最少值无法重新渲染问题
var secDate = layDate.render({
elem : clone,
theme : '#393D49',
value: (date.year+'-'+date.month+'-') + layDate.getEndDate(date.month, date.year),
max:date.year+'-12-31',
min:date.year+'-1-1'
});
})
}
},change: function(value, date, endDate){
},mark : {
'0-12-31' : '跨年',
'0-0-31' : '工资',
'0-0-15' : '月中',
'0-9-18' : '国耻',
'2018-3-26' : '开发'
}
});
});
});