Как мне получить день недели из выбранной даты на datepicker, и если выбранная дата - суббота или воскресенье, показать openstatus1, иначе показать openstatus.
JavaScript
$("#datepicker").datepicker({
autoclose: true,
todayHighlight: true
}).on('changeDate', function(e) {
if (e.date && e.date.GetDay()==6 && e.date.GetDay()==7) {
$('.openstatus').toggle();
} else {
$('.openstatus1').toggle();
}
});
Моя форма
<div id = "datepicker" class = "input-group" data-date-format = "mm-dd-yyyy">
<input class = "form-control" name = "Date" type = "text" readonly />
<span class = "input-group-addon"><i class = "glyphicon glyphicon-calendar"></i></span>
</div>
<div class = "openstatus">
<select name = "ResTime" class = " selectpicker">
<option selected = "selected" value = "select time">Select Time</option>
<option value = "10:30am">10:30 am</option>
<option value = "11:00am">11:00 am</option>
<option value = "11:30am">11:30 am</option>
<option value = "12:00pm">12:00 pm</option>
<option value = "12:30pm">12:30 pm</option>
<option value = "1:00pm">1:00 pm</option>
<option value = "1:30pm">1:30 pm</option>
<option value = "2:00pm">2:00 pm</option>
<option value = "2:30pm">2:30 pm</option>
<option value = "3:00pm">3:00 pm</option>
<option value = "3:30pm">3:30 pm</option>
<option value = "4:00pm">4:00 pm</option>
<option value = "4:30pm">4:30 pm</option>
<option value = "5:00pm">5:00 pm</option>
</select>
</div>
<div class = "openstatus1">
<select name = "ResTime" class = "selectpicker">
<option selected = "selected" value = "select time">Select Time</option>
<option value = "8:00am">8:00 am</option>
<option value = "8:30am">8:30 am</option>
<option value = "9:00am">9:00 am</option>
<option value = "9:30am">9:30 am</option>
<option value = "10:00am">10:00 am</option>
<option value = "10:30am">10:30 am</option>
<option value = "11:00am">11:00 am</option>
<option value = "11:30am">11:30 am</option>
<option value = "12:00pm">12:00 pm</option>
<option value = "12:30pm">12:30 pm</option>
</select>
</div>
@MoshFeu мой код не работает, он не скрывает div openstatus и показывает openstatus1



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


В javascript GetDay () для воскресенья - 0, а не 7.
The getDay() method returns the day of the week for the specified date according to local time, where 0 represents Sunday.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay
Вы также проверяете, есть ли значение == 6 а также == 7, чего никогда не будет, поэтому вам нужно изменить на или же
Итак, ваш код должен быть:
$("#datepicker").datepicker({
autoclose: true,
todayHighlight: true
}).on('changeDate', function(e) {
if (e.date && (e.date.GetDay() == 6 || e.date.GetDay() == 0)) {
$('.openstatus').toggle();
} else {
$('.openstatus1').toggle();
}
});
Следующая проблема, которую вы обнаружите, заключается в том, что .toggle() будет переключать только выбранные вами элементы. Вы можете использовать переключатель с логическим флагом, но иногда яснее быть явным, поэтому покажите / скройте то, что вы хотите, давая:
$("#datepicker").datepicker({
autoclose: true,
todayHighlight: true
}).on('changeDate', function(e) {
if (e.date && (e.date.GetDay() == 6 || e.date.GetDay() == 0)) {
// show hide .openstatus/.openstatus1 as required (ie might need to swap these two)
$('.openstatus').show();
$('.openstatus1').hide();
}
else {
$('.openstatus').hide();
$('.openstatus1').show();
}
});
хорошо, я вижу ваше решение, но теперь мое поле datepicker становится черным, в нем не отображается календарь.
Этот вопрос касался получения дня недели (и не совсем о дате). Вы можете открыть новый вопрос и указать рабочий минимальный воспроизводимый пример.
Хорошо, но мое поле выбора даты изменилось после добавления предложенного вами кода. Спасибо, в любом случае.
В чем проблема с вашим кодом? Я вижу, что вы это уже проверяли //