您好,我正在使用一个 Pikaday 日期选择器,它正在像这样初始化
Array.from(document.getElementsByClassName('js-picker')).forEach(element => {
new Pikaday({
field: element,
format: 'DD/MM/YYYY'
});
element.addEventListener('mousedown', preventAutoCompleteOnTarget);
element.addEventListener('focusout', allowAutoCompleteOnTarget);
});
在给定的情况下,我想启用/禁用它并设置显示日期。
我正在做这样的事情
const picker = new Pikaday({ field: document.getElementById('date-picker') });
const dp = document.getElementById('date-picker');
const today = new Date(Date.now());
const anotherDay = new Date(anotherDate);
if (x === '1') {
// enable datepicker / set datepicker to renewal date / set minimum date
picker.setMinDate(today);
picker.setMaxDate(anotherDate);
dp.disabled = false;
dp.value = today.toLocaleDateString('en-GB');
} else {
dp.value = anotherDate;
dp.disabled = true;
}
我已经摆弄了一点,但不多。
我有几个问题,但主要的一个是这个......
如果我在分配变量后立即运行此代码
const picker = new Pikaday({ field: document.getElementById('date-picker') });
日历(选择器打开)不是我想要的,我只想真正设置值。我以前在其他地方这样做过,没有问题。谁能指出可能出了什么问题?这是真正的问题。
顺便说一句,我找不到禁用选择器的方法,这也是我使用 getElementById 的原因。setDate 是在日历中设置日期,而不仅仅是令人讨厌的文本?有没有办法用选择器变量做这两件事?