为了账号安全,请及时绑定邮箱和手机立即绑定

Vanilla JS 日期选择器

Vanilla JS 日期选择器

阿晨1998 2023-09-07 16:22:34
我正在尝试让 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();我在输入中看到日期,但日期选择器的下拉列表未显示。难道我没有正确调用它吗?我不确定问题是什么。
查看完整描述

1 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

这是一个盲目的尝试,但是如果您在设置日期选择器时将 [0] 添加到 dpelem 中,会发生什么?看起来您正在获得一个 jquery 元素与一个 DOM 元素,就像它可能期望的那样。

var datepicker = new Datepicker(dpelem[0]....

否则我真的不认为你的代码有什么问题。我拼凑了一个快速的小jsfiddle,假设您已经获得了对输入元素的有效引用,这似乎很好。


查看完整回答
反对 回复 2023-09-07
  • 1 回答
  • 0 关注
  • 47 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信