Javascript 在引导日期选择器中启用并仅显示特定日期和今天日期

Javascript 在引导日期选择器中启用并仅显示特定日期和今天日期,javascript,jquery,bootstrap-datepicker,Javascript,Jquery,Bootstrap Datepicker,我在我的网站上使用。我有一个日期数组,我想启用加上今天日期,并从datepicker中隐藏所有其他年份、月份和日期。我该怎么做 我还有开始日期和结束日期。如果更改了开始日期,我想在结束日期输入中设置开始日期。如果结束日期被更改,我想在开始日期输入中设置结束日期 风险值启用天数=['2021-06-03','2021-06-04','2021-06-05']; $(“#开始日期”).datepicker({ 格式:“yyyy-mm-dd”, 今天的亮点:没错, 今天BTN:'链接', 没错,

我在我的网站上使用。我有一个日期数组,我想启用加上今天日期,并从datepicker中隐藏所有其他年份、月份和日期。我该怎么做

我还有开始日期和结束日期。如果更改了开始日期,我想在结束日期输入中设置开始日期。如果结束日期被更改,我想在开始日期输入中设置结束日期


风险值启用天数=['2021-06-03','2021-06-04','2021-06-05'];
$(“#开始日期”).datepicker({
格式:“yyyy-mm-dd”,
今天的亮点:没错,
今天BTN:'链接',
没错,
自动关闭:是的,
//结束日期:“0d”,
beforeShowDay:功能(日期){
如果(已启用)_days.indexOf(formatDate(date))<0
返回{
已启用:false
}
其他的
返回{
已启用:true
}
},
}).on('changeDate',函数(已选择){
var minDate=新日期(selected.Date.valueOf());
$('end#u date')。日期选择器('setStartDate',minDate);
});
函数格式化日期(d){
var day=String(d.getDate())
如果(day.length==1)
天='0'+天
var month=String((d.getMonth()+1))
如果(月长==1)
月份='0'+月份
返回d.getFullYear()+“-”+月+“-”+日

}
您可以使用
moment.js
这将帮助我们根据给定的要求设置日期格式。因此,在(“show”,function..)中写入日期选择器,每当显示日期选择器时都会调用它。然后,在该事件中调用一些函数,从datepicker禁用您的
month/year

演示代码

var启用天数=['2021-06-03','2021-06-04','2021-06-05'];
变量选项={
格式:“yyyy-mm-dd”,
今天的亮点:没错,
今天BTN:'链接',
没错,
自动关闭:是的,
//结束日期:“0d”,
beforeShowDay:功能(日期){
如果(已启用)_days.indexOf(formatDate(date))<0
返回{
已启用:false
}
其他的
返回{
已启用:true
}
}
}
$(“#开始日期”).datepicker(选项)。on('changeDate',函数(选中){
var minDate=新日期(selected.Date.valueOf());
$('end#u date')。日期选择器('setStartDate',minDate);
}).on(“显示”,功能(事件){
do_disabled();//调用此。。
});
$(“#结束日期”).datepicker(选项)。on('changeDate',函数(选中){
var minDate=新日期(selected.Date.valueOf());
$('开始日期').datepicker('setEndDate',minDate);
}).on(“显示”,功能(事件){
do_disabled();//调用此。。
});
函数格式化日期(d){
var day=String(d.getDate())
如果(day.length==1)
天='0'+天
var month=String((d.getMonth()+1))
如果(月长==1)
月份='0'+月份
返回d.getFullYear()+“-”+月+“-”+日
}
函数do_disabled(){
//将禁用添加到月..span标记
$(“.month”).addClass(“已禁用”)
//循环月元素
$(“.month”)。每个(功能(索引,元素){
var el=$(本);
//循环阵列
$(启用天数)。每个(功能(i){
var dates=新日期(启用天数[i])
//检查一月、二月是否=我们的阿里亚月。。。
如果(el.text().trim()==时刻(日期).format(“MMM”)){
el.removeClass(“disabled”)//每月从那里移除disabled。。
}
})
})
//今年也一样
$(“.year”)。每个(功能(索引,元素){
var el=$(本);
$(启用天数)。每个(功能(i){
var dates=新日期(启用天数[i])
if(el.text()!=时刻(日期).format(“YYYY”)){
el.addClass(“禁用”)
}
})
})
}
.datepicker years.datepicker开关,
.prev,
.下一个{
指针事件:无;
}


如果元素为只读,将如何更改它们?对于MRE,您需要创建输入和日期选择器。那么您尝试实现了什么?@Swati我添加了代码。上面的代码禁用了日期,但没有禁用年和月。我还希望年和月被禁用(隐藏)。