簡體   English   中英

pickadate 使用變量設置禁用天數

[英]pickadate set disabled days using a variable

我想動態設置禁用日期,具體取決於從選擇輸入中選擇的內容。 我的選項具有以下數據字段:

data-disableddays="2,3,4,5"

我的 select 上有一個 onchange 事件。 在那里我得到了 data-disableddays 的值:

var disableddays = $(this).find(':selected').data('disableddays');

console.log output 是正確的(2,3,4,5)

當我初始化pickadate時:

var picker = $('#tripstart').pickadate({
                        format: 'd.mm.yyyy',
                        min: new Date($mystart),
                        max: new Date($myend),
                        firstDay: 1,
                        disable: [
                          disableddays
                        ]
                      });

什么都沒有發生。 用“2,3,4,5”替換變量 disableddays 一切正常。 我該怎么做才能使這個變量在這個地方工作?

嘗試這樣做

var disableddays = $(this).find(':selected').data('disableddays');
disableddays = disableddays.split(',').map(day=>parseInt(day));
var picker = $('#tripstart').pickadate({
                        format: 'd.mm.yyyy',
                        min: new Date($mystart),
                        max: new Date($myend),
                        firstDay: 1,
                        disable: disableddays
                      });

基本上,disabledays 應該是一個整數數組。

因為您使用了字符串 "2,3,4,5" 而不是數組,所以您需要使用disableddays.split(",")將字符串轉換為數組,如下所示:

var picker = $('#tripstart').pickadate({
                 format: 'd.mm.yyyy',
                 min: new Date($mystart),
                 max: new Date($myend),
                 firstDay: 1,
                 disable: disableddays.split(",")
             });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM