香草 JS 日期选择器
Vanilla JS Datepicker
我正在尝试让 Vanilla JS Datepicker 工作:
https://github.com/mymth/vanillajs-datepicker
它抛出一个错误:TypeError: undefined is not an object on e.dataset.date
这是日期选择器代码中的一个错误,所以我不确定出了什么问题。
这是我在函数中的标注:
function setDate() {
console.log('DatePickerCk: ' , Datepicker); // shows as 'class ue' - that doesn't seem right
var cdate = $(mycell).attr('dc-oldval');
console.log('CurDate: ' + cdate); // ok - 02/07/2020
var dpelem = $(mycell).find('input');
$(dpelem).val(cdate);
console.log('ValofInput: ' , $(dpelem).val()); // ok - "02/07/2020"
console.log('DpElem: ' , dpelem); // ok - hovering over it in console highlights the element in the DOM
var datepicker = new Datepicker(dpelem, {
autohide: true,
daysOfWeekDisabled: [],
daysOfWeekHighlighted: [],
defaultViewDate: cdate,
nextArrow: '>>',
prevArrow: '<<',
todayBtn: false,
todayBtnMode: 1,
todayHighlight: true
});
Datepicker.locales.en = {
days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
daysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
today: 'Today',
clear: 'Clear',
titleFormat: 'MM y',
format: 'dd/mm/yyyy',
weekstart: 0
}
}
setDate();
我在输入中看到了日期,但是日期选择器的下拉菜单没有显示。
我是不是调用错了?我不确定是什么问题。
这是在黑暗中拍摄的,但是如果在设置日期选择器时将 [0] 添加到 dpelem 会怎样?看起来您得到的是 jquery 元素,而不是预期的 DOM 元素。
var datepicker = new Datepicker(dpelem[0]....
除此之外,我真的没有发现您的代码有任何问题。我快速整理了一些 jsfiddle,假设您已经获得对输入元素的有效引用,这似乎很好。
是否有人知道并可以提供有关如何添加另一种语言(语言环境)的工作示例?
我尝试按照 vanillajs datepicker 的文档进行操作,但没有成功
我正在尝试让 Vanilla JS Datepicker 工作: https://github.com/mymth/vanillajs-datepicker
它抛出一个错误:TypeError: undefined is not an object on e.dataset.date 这是日期选择器代码中的一个错误,所以我不确定出了什么问题。 这是我在函数中的标注:
function setDate() {
console.log('DatePickerCk: ' , Datepicker); // shows as 'class ue' - that doesn't seem right
var cdate = $(mycell).attr('dc-oldval');
console.log('CurDate: ' + cdate); // ok - 02/07/2020
var dpelem = $(mycell).find('input');
$(dpelem).val(cdate);
console.log('ValofInput: ' , $(dpelem).val()); // ok - "02/07/2020"
console.log('DpElem: ' , dpelem); // ok - hovering over it in console highlights the element in the DOM
var datepicker = new Datepicker(dpelem, {
autohide: true,
daysOfWeekDisabled: [],
daysOfWeekHighlighted: [],
defaultViewDate: cdate,
nextArrow: '>>',
prevArrow: '<<',
todayBtn: false,
todayBtnMode: 1,
todayHighlight: true
});
Datepicker.locales.en = {
days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
daysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
today: 'Today',
clear: 'Clear',
titleFormat: 'MM y',
format: 'dd/mm/yyyy',
weekstart: 0
}
}
setDate();
我在输入中看到了日期,但是日期选择器的下拉菜单没有显示。
我是不是调用错了?我不确定是什么问题。
这是在黑暗中拍摄的,但是如果在设置日期选择器时将 [0] 添加到 dpelem 会怎样?看起来您得到的是 jquery 元素,而不是预期的 DOM 元素。
var datepicker = new Datepicker(dpelem[0]....
除此之外,我真的没有发现您的代码有任何问题。我快速整理了一些 jsfiddle,假设您已经获得对输入元素的有效引用,这似乎很好。
是否有人知道并可以提供有关如何添加另一种语言(语言环境)的工作示例? 我尝试按照 vanillajs datepicker 的文档进行操作,但没有成功