这是单独使用laydate,引入就可以测试
<input type="text" name="year" id="year" >
<input type="text" name="month" id="month" >
<input type="text" name="day" id="day" >
<script>
$(function(){
var v1 = "2023";
var va = Number(v1) + 1;
var v2 = "2";
if( v1 == '0' ){
v1 = '2023';
va = Number(v1) + 1;
}
laydate.render({
elem: '#year'
,type:'year'
,done: function( data1 ){
v1 = data1;
va = Number(data1) +1 ;
month.config.min.year = v1;
month.config.max.year = va;
month.config.min.month = 0; // 不设置0 会导致能选上一年12月
}
});
var month = laydate.render({
elem: '#month'
,type:'month'
,format:'MM'
,min: v1+'-00-01'
,max: va+'-00-01'
,done: function( v2 ){
$('#day').val('')
day.config.min.year = v1;
day.config.max.year = v1;
day.config.min.month = Math.abs(v2) - 1
day.config.max.month = Math.abs(v2) - 1 // 不知为何会加一个月,所以要减1
}
});
var day = laydate.render({
elem: '#day'
,format:'dd'
,min: v1+'-'+v2+'-01'
,max: v1+'-'+v2+'-31'
,done: function( v3 ){
// console.log(v3)
}
});
})
</script>