2017-07-03 1 views
0

Dans mon projet - qui est une application, j'ai plusieurs datepicker qui est la version 2.0. Mon client veut que je personnalise mon agenda en affichant la date du haut du calendrier, donc j'ai fait quelques réglages, il travaille sur la page avec un datepicker mais c'est une autre histoire quand il s'agit de plusieurs datepicekers sur une page. comme suit.Comment cibler bootstrap datepicker est son propre '.datepicker-dropdown' lorsqu'il y a plusieurs datespickers dans une page. ((sans option conteneur)

$(elem).datepicker(options); 
    //Customized Datepicker Plugin 03/07/2017 
    //Author - Jithin Raj 
    var date = new Date(); 
    var today = new Date(date.getFullYear(), date.getMonth(), date.getDate()); 
     $(elem).on('show', function() { 
     var cPicVal = '', 
      yPicVal = ''; 
      if ($('.datepicker-dropdown').find('.new-date-wrap').length <= 0) { 
        $('.datepicker-dropdown').prepend('<div class="new-date-wrap"><div class="custom-year-pic-view"><span></span></div><div class="custom-day-pic-view"><span></span></div></div>'); 
      } 
      if ($(elem).val() == '') { 
        cPicVal = (Date.parse(today).toString('ddd, MMM dd')); 
        yPicVal = (Date.parse(today).toString('yyyy')); 
      } else { 
        cPicVal = (Date.parse($(elem).val()).toString('ddd, MMM dd')); 
        yPicVal = (Date.parse($(elem).val()).toString('yyyy')); 
      } 
      $('.custom-day-pic-view').find('span').text(cPicVal); 
      $('.custom-year-pic-view').find('span').text(yPicVal); 
    }); 
}); 

Quelqu'un peut-il me suggérer une autre méthode de fullprofe, merci .. Vive

+0

Avez-vous simplement essayé d'utiliser $ (this) 'dans le gestionnaire d'événements ...? – CBroe

+0

@CBroe J'ai essayé cela aussi mais je reçois une erreur - 'Uncaught TypeError: Impossible de lire la propriété 'toLowerCase' de undefined' – weBBer

+0

Essayez et consignez l'objet d'événement passé à la fonction de gestionnaire à la console, et voyez s'il fait référence au datepicker instance en quelque sorte. – CBroe

Répondre

0

Je pense avoir trouvé une réponse.

J'ai changé un peu mon code et j'ai ajouté moment.js et maintenant ça marche partout dans mon application.

$(elem).datepicker(options); 
//Customized Datepicker Plugin 03/07/2017 
//Author - Jithin Raj 
    var date = new Date(); 
    var today = new Date(date.getFullYear(), date.getMonth(), date.getDate()); 
    $(elem).on('show', function() { 
       var cPicVal = '', 
       yPicVal = ''; 
       elem = $(this) 
      if ($('.datepicker-dropdown').find('.new-date-wrap').length <= 0) { 
        $('.datepicker-dropdown').prepend('<div class="row-fluid new-date-wrap"><div class="row-fluid custom-year-pic-view"><span></span></div><div class="row-fluid custom-day-pic-view"><span></span></div></div>'); 
      } 
      if ($(elem).val() == '') { 
        cPicVal = (moment(today).format('ddd, MMM DD')); 
        yPicVal = (moment(today).format('YYYY')); 
      } else { 
        cPicVal = (moment($(elem).val()).format('ddd, MMM DD')); 
        yPicVal = (moment($(elem).val()).format('YYYY')); 
      } 
      $('.custom-day-pic-view').find('span').text(cPicVal); 
      $('.custom-year-pic-view').find('span').text(yPicVal); 
});