我希望根据从select-input中选择的内容来动态设置禁用天数。我的选项有以下数据字段:
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
]
});什么都没发生。将变量disabledday替换为"2,3,4,5“一切运行正常。我要怎么做才能让这个变量在这个地方工作呢?
发布于 2020-06-29 22:21:33
试着这样做
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应该是一个整数数组。
发布于 2020-06-29 22:25:51
因为您使用的是字符串"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(",")
});https://stackoverflow.com/questions/62640053
复制相似问题