pickadate 使用变量设置禁用天数
pickadate set disabled days using a variable
我想根据 select 从 select 输入中编辑的内容动态设置禁用日期。
我的选项具有以下数据字段:
data-disableddays="2,3,4,5"
我的 select 上有一个 onchange 事件。
我得到了数据禁用天数的值:
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”一切正常。
我必须做什么才能使这个变量在这个地方工作?
尝试这样做
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(",")
});
我想根据 select 从 select 输入中编辑的内容动态设置禁用日期。 我的选项具有以下数据字段:
data-disableddays="2,3,4,5"
我的 select 上有一个 onchange 事件。 我得到了数据禁用天数的值:
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”一切正常。 我必须做什么才能使这个变量在这个地方工作?
尝试这样做
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(",")
});