如果客户选择了结账日,我想让日历自动选择下一天。
var selectedday= $('#calendarid').val();
if(selectedday.getDay() == 6) $(#calendarid).datepicker('setDate', 1);
这让我想到"selectedday.getDay()不是一个函数“,因为我猜返回的是一个字符串,而不是一个对象。
有人能帮帮忙吗?
致以亲切的问候,
发布于 2018-10-24 07:06:46
是的,datepicker
正在返回一个字符串,您必须将该字符串转换为适当的日期。
$('#calendarid').datepicker()
$('#calendarid').change(function() {
selectedDate = new Date($(this).val())
if (selectedDate.getDay() == 0) { // Changed this to sunday
selectedDate.setDate(selectedDate.getDate() + 1)
$(this).datepicker('setDate', selectedDate);
$(this).blur();
}
})
<link href="https://code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<input type="text" id="calendarid" />
但是,如果您不给出任何警告,这可能会使用户感到困惑。您可以禁用周日的选择:
$('#calendarid').datepicker({
beforeShowDay: function(date) {
return [date.getDay() != 0, ""];
}
})
<link href="https://code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<input type="text" id="calendarid" />
参考文献:
https://stackoverflow.com/questions/52958623
复制相似问题