我想根据从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”,一切工作正常。 我要做什么才能使这个变量在这个地方工作?
尝试这样做
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(",")
});
希望这能帮上忙。