Javascript、jQueryを勉強中です。
Air Datepickerを使用し、inputに日付を入力できる様にしているのですが、西暦だけて入力するとカレンダーの表示が連動しません。
1.inoutをクリックするとカレンダーが表示される。
2.inputには手入力で日付を入れることもできる。
3.月、日にちはて入力するとカレンダーが連動して入力された月に移動し、入力された日にちが選択状態(背景色と文字色が変化)する。
4.3の状態が西暦だと起こらず、カレンダーが移動しないが入力した日付の選択だけはされている。
(例:inputに2000/01/01が入力されており、カレンダーも同日付が表示されている状態でinputに手入力で2021/01/01を入力するとカレンダー表示は2000年1月だが、2021年1月に移動すると1日が選択状態になっている。)
上記状態を西暦でもカレンダー移動して選択されている年月が表示される様にしたいです。
HTML
1<input id="test" data-name="day">
jQuery
1var textarea = $('#test').val(); 2$('input').data('name').selectDate(moment(textarea).toDate());
datepicker.jsの_renderTypesのあたりでカレンダーの選択日付が変化していた様だったのでselectDateを_renderTypesにしたり_getYearsHtmlにしてみたりしたのですがエラー(Uncaught TypeError)になりできませんでした。
西暦入力時もカレンダー表示連動させるにはどうしたらいいのでしょうか?
お手数ですがどなたかお分かりになる方、ご教授頂けますと助かります。
補足
Air Datepicker
https://github.com/t1m0n/air-datepicker
見ているファイル
datepicker.js
見ている箇所
jQuery
1//447行目〜 2selectDate: function (date) { 3 var _this = this, 4 opts = _this.opts, 5 d = _this.parsedDate, 6 selectedDates = _this.selectedDates, 7 len = selectedDates.length, 8 newDate = ''; 9 10 if (Array.isArray(date)) { 11 date.forEach(function (d) { 12 _this.selectDate(d) 13 }); 14 return; 15} 16 17//1721行目〜 18_renderTypes: { 19 days: function () { 20 var dayNames = this._getDayNamesHtml(this.d.loc.firstDay), 21 days = this._getDaysHtml(this.d.currentDate); 22 23 this.$cells.html(days); 24 this.$names.html(dayNames) 25 }, 26 months: function () { 27 var html = this._getMonthsHtml(this.d.currentDate); 28 this.$cells.html(html) 29 }, 30 years: function () { 31 var html = this._getYearsHtml(this.d.currentDate); 32 this.$cells.html(html) 33 } 34},
回答1件
あなたの回答
tips
プレビュー