我的Laravel视图之一中有一个DatePicker。我正在尝试将一系列日期从控制器传递到DatePicker,以使这些日期在页面上处于非活动状态(用户不应在这些日期上进行预订)。
控制器/ JavaScript
<?php
function show(Tour $tour) {
$tourdates = DB::table('tourdates')
->join('tours', 'tourdates.tour_id', '=', 'tours.id')
->select('tourdates.tour_date')
->get();
return view('tours.show', compact('tourdates'));
}
?>
<script>
var disableddates = {!! json_encode($tourdates->toArray()) !!};
function DisableSpecificDates(date) {
var string = jQuery.datepicker.formatDate('mm/dd/yy', date);
return [disableddates.indexOf(string) == -1];
}
var dateToday = new Date();
$(function () {
$("#datepicker").datepicker({
numberOfMonths: 1,
showButtonPanel: true,
dateformat: "mm/dd/yy",
minDate: dateToday,
maxDate: "1Y + 1M + 1D",
beforeShowDay: DisableSpecificDates
});
});
</script>
我通过的日期不会失效。我认为这是因为数组的日期格式是yyyy-mm-dd,而DatePicker中的格式是mm / dd / yy。但是,我似乎无法修复它。有什么建议吗?
答案 0 :(得分:0)
尝试更改传递给AuthenticationResult result = application.AcquireTokenOnBehalfOfAsync(scopes.Except(_scopesRequestedByMsalNet), userAssertion).GetAwaiter().GetResult();
的格式以匹配数组中使用的格式
更改:
formatDate()
收件人
var string = jQuery.datepicker.formatDate('mm/dd/yy', date);
答案 1 :(得分:0)
我要解决的问题是我在控制器中而不是在刀刃中格式化了日期,并相应地修改了我的JavaScript。下面是调整后的代码:
<?php
function show(Tour $tour) {
$tourdates = DB::table('tourdates')
->join('tours', 'tourdates.tour_id', '=', 'tours.id')
->select('tourdates.tour_date')
->get();
foreach ($tourdates as $td) {
$tourdates1[] = date('m/d/Y', strtotime($td->tour_date));
return view('tours.show', compact('tourdates'));
}
?>
<script>
var disableddates = {!! json_encode($tourdates1) !!};
function DisableSpecificDates(date) {
var string = jQuery.datepicker.formatDate('mm/dd/yy', date);
return [disableddates.indexOf(string) == -1];
}
var dateToday = new Date();
$(function () {
$("#datepicker").datepicker({
numberOfMonths: 1,
showButtonPanel: true,
dateformat: "mm/dd/yy",
minDate: dateToday,
maxDate: "1Y + 1M + 1D",
beforeShowDay: DisableSpecificDates
});
});
</script>