我從一個 API 中得到一個包含 365 個字符的字串值,它告訴我保留、預訂和可用的日期,其中:
0 = 可用;
1 = 保留;
2 = 已預訂;
現在我的問題是,如何將這些值傳遞給 moment.js 日期選擇器并通過回圈或其他方式禁用預訂或保留的日期?
我正在使用帶有 momentjs 的日期范圍選擇器。 https://www.daterangepicker.com/#usage我不知道如何使用回圈并將這些字符中的每一個轉換為資料,然后在 daterangepicker 上禁用或啟用它們。
My string value from API looks like this: "11422222224000000000000000000011111114000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
uj5u.com熱心網友回復:
我能夠用這段代碼解決問題:
<?php
$currentYearList = "https://www.booking-manager.com/api/v2/shortAvailability/". date("Y") ."?companyId=5715&yachtId=" . get_field('yacht_api_id', get_the_ID()) . "&format=3"; ?>
<script>
unavailable_dates = [];
var from = new Date(2022, 0, 1); // Start Date
from = moment(from).format('YYYY-MM-DD[T]HH:mm:ss'); //Formatted with momentjs
var custom_dates = <?php echo $currentYearList; ?> //Data fetched from api;
var date_array = custom_dates.split('');
// Loop through 365 Days.
for (let i = 0; i <= 365; i ) {
let date = moment(from);
date.add(i, 'day');
if(date_array[i] != 0){
unavailable_dates.push(moment(date).format('YYYY-MM-DD[T]HH:mm:ss'));
}
} </script>
然后我將不可用的日期陣列傳遞給 daterangepicker,如下所示:
rangepickerinput.daterangepicker({
isInvalidDate: function(date)
{
return !!(unavailable_dates.indexOf(date.format('YYYY-MM-DD')) > -1);
}
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/511150.html
上一篇:SAS和r中相鄰列對之間的差異
下一篇:如何兩次運行行內函式?
