0

Je veux construire un Dateur de date qui n'accepte que Mois et Année, donc je mets simplement les jours avec CSS en masquant display: none et c'est bon pour moi. Ensuite, je change les options de datepicker pour l'utilisateur de choisir seulement mois et année, et son travail bien. Par exemple, si je sélectionne "JAN/2017", l'entrée change bien. Mais si vous cliquez à nouveau sur l'entrée, ce ne sera pas JAN/2017, sera SEP/2017. Pourquoi?Datepicker Mois et Année Erreur sélectionnée

Voici un plunker: CLICK HERE =)

Si vous préférez voir le code, vous êtes ici:

<body> 
<style> 
    .ui-datepicker-calendar {display: none!important;} 
</style> 

<input class="date-picker"> 

<script> 
$('document').ready(function() { 
     $('.date-picker').datepicker({ 
      changeMonth: true, 
      changeYear: true, 
      showButtonPanel: true, 
      dateFormat: 'MM yy', 
      onClose: function (dateText, inst) { 
       $(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1)); 
      } 
     }); 

    }) 
</script> 

Merci beaucoup!

@EDIT - RÉSOLU!

Je ne sais pas si c'est la meilleure façon, mais a fonctionné! Je fais simplement des événements manipuler DOM

 var mmNow, yyNow; 

    $('document').ready(function() { 
     $('.date-picker').datepicker({ 
      changeMonth: true, 
      changeYear: true, 
      showButtonPanel: true, 
      dateFormat: 'MM yy', 
      onClose: function (dateText, inst) { 
       $(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1)); 
      } 
     }).click(function() { 
      $('.date-picker').datepicker('setDate', new Date(yyNow, mmNow, 1)); 
     }).blur(function(){ 
      mmNow = ($('.ui-datepicker-month')[0].value) 
      yyNow = ($('.ui-datepicker-year')[0].value) 
     }) 
    }) 

Répondre

0

Si vous voulez montrer, par exemple « septembre 2017 » dans votre entrée, vous devez changer votre dateFormat « M yy » ou 'M/yy si vous voulez que le sabrer.

+0

je pense que je n'étais pas clair ... Essayez de mettre Jan/2017 et Confirmer ... Cliquez ensuite sur entrée encore ... vous verrez que l'entrée sera septembre/2017, et non janvier/2017. C'est mon problème. = / – Johnson

0

si vous utilisez cela, il devrait résoudre votre problème, sauf qu'il affichera la date et

dateFormat: 'MM/dd/yy',