Я использую AMsul Pickadate и попытаться добавить пользовательский заголовок с помощью JQuery .prependДобавление пользовательского заголовка в pickadate
Он отлично работает, но когда я использую 2 datapickers на одной странице, на первый мой пользовательский заголовок добавляется дважды, что заставляет его выглядеть нелепо.
Это мой JS код:
$.extend($.fn.pickadate.defaults, {
selectMonths: true, // Creates a dropdown to control month
selectYears: 15, // Creates a dropdown of 15 years to control year,
onRender: function() {
var year = $('.datepicker').pickadate('picker').get('highlight', 'yyyy');
var day = $('.datepicker').pickadate('picker').get('highlight', 'dd');
var month = $('.datepicker').pickadate('picker').get('highlight', 'mmm');
var labelday = $('.datepicker').pickadate('picker').get('highlight', 'dddd');
console.log(year, day, month, labelday);
$('.picker__header').prepend('<div class="picker__date-display"><div class="picker__weekday-display">' + labelday + '</div><div class="picker__month-display"><div>' + month + '</div></div><div class="picker__day-display"><div>' + day + '</div></div><div class="picker__year-display"><div>' + year + '</div></div></div>');
}
});
И это результат, когда я использую 2 datapickers на одной странице:
Мой HTML разметка выглядит следующим образом:
<!-- First datapicker-->
<input placeholder="Selected date" type="text" id="input_from" class="form-control datepicker">
<!--Second datapicker -->
<input placeholder="Selected date" type="text" id="input_to" class="form-control datepicker">
И я инициализирую сборщик через js:
// Datapicker initialization
$('.datepicker').pickadate();
Как я могу заставить его всегда добавлять только один настраиваемый заголовок для каждого datapicker, даже если есть больше одного?
Большое спасибо за ответ. Я использую ваш код, и он работает нормально, но когда я нажимаю, чтобы выбрать дату, мой пользовательский заголовок просто исчезает и не появляется снова, даже если я повторно нажимаю на сборщик. Есть ли способ исправить это? Кстати, я пытался найти что-то в документации amsul, но, проведя несколько часов без результата, я подал в отставку. –
Похоже, что это будет больно с JS. Вероятно, вам стоит посмотреть на создание настраиваемой темы: https://github.com/amsul/pickadate.js Вы можете загрузить полную, несжатую библиотеку и добавить свою собственную тему css в папку. –
Но я на самом деле это сделал. Я создал свою собственную тему (этот синий заголовок - моя специальная тема), и теперь я пытаюсь добавить его в amsul pickadate. Проблема в том, что я совершенно не знаю, как я могу сделать это иначе, используя jquery «.prepend» –