394 votes

jQuery UI DatePicker pour afficher l'année du mois uniquement

J'utilise jQuery sélecteur de date pour afficher le calendrier partout dans mon application. Je veux savoir si je peux l'utiliser pour afficher le mois et l'année (mai 2010) et non le calendrier?

454voto

Ben Koehler Points 4707

Voici un hack (mis à jour avec le fichier .html entier):

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script>
    <link rel="stylesheet" type="text/css" media="screen" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/base/jquery-ui.css">
<script type="text/javascript">
$(function() {
    $('.date-picker').datepicker( {
        changeMonth: true,
        changeYear: true,
        showButtonPanel: true,
        dateFormat: 'MM yy',
        onClose: function(dateText, inst) { 
            var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
            var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
            $(this).datepicker('setDate', new Date(year, month, 1));
        }
    });
});
</script>
<style>
.ui-datepicker-calendar {
    display: none;
    }
</style>
</head>
<body>
    <label for="startDate">Date :</label>
    <input name="startDate" id="startDate" class="date-picker" />
</body>
</html>
 

EDIT jsfiddle pour l'exemple ci-dessus: http://jsfiddle.net/bopperben/DBpJe/

102voto

Leniel Macaferi Points 38324

Ce code fonctionne parfaitement pour moi :

67voto

BrianS Points 2867

@Ben Koehler, qui est le préfet ! J’ai fait une modification mineure afin qu’à l’aide d’une seule instance du sélecteur de dates plus d’une fois fonctionne comme prévu. Sans cette modification, la date est mal analysée, et la date précédemment sélectionnée n’est pas mis en évidence.

18voto

user1857829 Points 201

Les réponses ci-dessus sont très bonnes. Ma seule plainte est que vous ne peut pas effacer la valeur une fois qu’elle est été définie. Aussi, je préfère l’approche extend-jquery-like-a-plugin.

Cela fonctionne parfaitement pour moi :

Puis l’appeler comme suit :

11voto

Erik Polder Points 91
<pre><code></code><p><pre><code></code></pre><p><p>Cela résoudra le problème =) mais je voulais le timeFormat aaaa-mm</p><p>Seulement essayé dans FF4 bien</p></pre>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X