Nie*_*man 2 javascript jquery datepicker bootstrap-datepicker
我的网站上有一个 bootstrap datepicker ( https://github.com/uxsolutions/bootstrap-datepicker ),我有一组日期,我想启用和禁用日期选择器中的所有其他日期。我该如何编码?
我怎么能通过这个?
Run Code Online (Sandbox Code Playgroud)var enableDays = "24-07-2019, 20-08-2019, 22-08-2019, 13-09-2019"
$(function () {
$('#deliveryDate').datepicker({
maxViewMode: 2,
weekStart: 1,
startDate: '+1d',
autoclose: true,
todayHighlight: true,
format: "dd-mm-yyyy",
clearBtn: true,
language: form.UILanguage(),
autoclose: true,
})
});
Run Code Online (Sandbox Code Playgroud)
小智 7
在Bootstrap Datepicker的文档中,您可以找到beforeShowDay选项。
您可以定义一个函数,该函数将为{enabled: false}未包含在给定列表中的每一天返回。
这是一个完整的实现:
//we start with splitting the provided string into an array
var enableDays = "24-07-2019, 20-08-2019, 22-08-2019, 13-09-2019".split(', ')
function formatDate(d) {
var day = String(d.getDate())
//add leading zero if day is is single digit
if (day.length == 1)
day = '0' + day
var month = String((d.getMonth()+1))
//add leading zero if month is is single digit
if (month.length == 1)
month = '0' + month
return day + "-" + month + "-" + d.getFullYear()
}
$(function () {
$("#deliveryDate").datepicker({
maxViewMode: 2,
weekStart: 1,
startDate: "+1d",
beforeShowDay: function(date){
if (enableDays.indexOf(formatDate(date)) < 0)
return {
enabled: false
}
else
return {
enabled: true
}
},
todayHighlight: true,
format: "dd-mm-yyyy",
clearBtn: true,
autoclose: true
})
});
Run Code Online (Sandbox Code Playgroud)
由于纯 JS 中的日期格式化功能是有限的,我编写了一个函数,它以dd-mm-yyyy格式返回一个字符串。随意使用任何日期操作库(如moment.js)。
| 归档时间: |
|
| 查看次数: |
4299 次 |
| 最近记录: |