提问者:小点点

pickadate使用变量设置禁用天数


我想根据从select-input中选择的内容动态设置禁用天数。 我的选项具有以下数据字段:

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

我的选择中有一个onchange事件。 我得到了data-disableddays的值:

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

console.log输出正确(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
                        ]
                      });

什么都没发生。 将变量disableddays替换为“2,3,4,5”,一切工作正常。 我要做什么才能使这个变量在这个地方工作?


共2个答案

匿名用户

尝试这样做

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(",")
                      });

希望这能帮上忙。

相关问题