Этот код определенно вам поможет.Они beforeshowDay
это то, что вы ищете:
$(document).ready(function(){
initComponent();
});
function initComponent()
{
var dt = new Date();
var yr = dt.getFullYear();
dateArr = ['12-05-'+yr,'12-11-'+yr];
$('#date').datepicker({
dateFormat: 'mm-dd-yy',
beforeShowDay: function(d) {
var dmy = (d.getMonth()+1)
if(d.getMonth()<9)
dmy="0"+dmy;
dmy+= "-";
if(d.getDate()<10) dmy+="0";
dmy+=d.getDate() + "-" + d.getFullYear();
if ($.inArray(dmy, dateArr) != -1) {
return [true, "","Available"];
} else{
return [false,"","unAvailable"];
}
},
todayBtn: "linked",
autoclose: true,
todayHighlight: true
});
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" rel="stylesheet"/>
<div class="input-group input-append date" id="dateRangePicker">
<input type="text" id="date" class="form-control" name="date" />
<span class="input-group-addon add-on"><span class="glyphicon glyphicon-calendar"></span></span>
</div>
просто передайте ваши даты в массиве availableDates
правильно и убедитесь, что dateFormat
совпадает с вашими датами в массиве.запустите сниппет и дайте мне знать, если это вам поможет
Примечание. По мере того, как вы обновляли вопрос, здесь я предоставляю полный код из файла, который я создал на моей машине.Просто скопируйте его и сохраните как HTML-файл и посмотрите, работает ли он нормально.Если это работает, возможно, в вашем коде есть конфликт.Вот код:
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" rel="stylesheet"/>
</head>
<body>
<div class="input-group input-append date" id="dateRangePicker">
<input type="text" id="date" class="form-control" name="date" />
<span class="input-group-addon add-on"><span class="glyphicon glyphicon-calendar"></span></span>
</div>
</body>
<script>
$(document).ready(function(){
initComponent();
});
function initComponent()
{
var dt = new Date();
var yr = dt.getFullYear();
dateArr = ['12-05-'+yr,'12-11-'+yr];
$('#date').datepicker({
dateFormat: 'mm-dd-yy',
beforeShowDay: function(d) {
var dmy = (d.getMonth()+1)
if(d.getMonth()<9)
dmy="0"+dmy;
dmy+= "-";
if(d.getDate()<10) dmy+="0";
dmy+=d.getDate() + "-" + d.getFullYear();
if ($.inArray(dmy, dateArr) != -1) {
return [true, "","Available"];
} else{
return [false,"","unAvailable"];
}
},
todayBtn: "linked",
autoclose: true,
todayHighlight: true
});
}
</script>
</html>
просто сохраните его как HTML, откройте его прямо в браузере и дайте мне знать, если он работает.Мы обязательно исправим вашу проблему