IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Transformer JQuery datepicker en calendrier?


Sujet :

jQuery

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 73
    Points : 35
    Points
    35
    Par défaut Transformer JQuery datepicker en calendrier?
    Bonjour,

    Je voulais savoir si quelqu'un a réussi à transformer la (charmante) datepicker UI en un calendrier. Je suis suis sur que ça existe une astuce pour passer un tableau de données d’événements par exemple à ce widget. Si quelqu'un connaît une piste je suis preneur. Je veux utiliser le datepicker en calendrier, car la taille original du datepicker est parfait pour mon placement et l'apparence de ce widget est paramétrable.

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    ben sinon y'a le calendrier datepicker de developpez ...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 73
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    ben sinon y'a le calendrier datepicker de developpez ...
    Je le trouve pas c'est dans quel séction?

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    http://dmouronval.developpez.com/calendrier/


    sinon suffit sur le load de faire un show du uicalendar

    Trouver le css display none et le mettre à block et fixer aussi sa position

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 73
    Points : 35
    Points
    35
    Par défaut
    Sympa le datepicker de developpez . Mais moi je veux afficher ça en calendrier, donc à partir des événements récupéré par un tableau(json ou autre), je les affiches sur mle calendrier.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    c'est ce que je te disais plus haut ...
    trouver le css display none pour le mettre à block
    trouver le css de positionnement...

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 73
    Points : 35
    Points
    35
    Par défaut
    Oui mais ça pour afficher le datepicker, c'est ok, j'ai déja réussi à l'afficher. Mais comment lui envoyer les évenement à afficher. par exemple je lui envoi un tableau json avec une liste d'events, et lui il les affiches sur le calendrier, aprés c à moi de faire en sorte qu'au survol par exemple un box s'affiche avec la déscription de l'event). Donc mon problème c'est plutot comment envoyer des données au calendrier, pas comment l'afficher.
    Merci

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Haaa je comprends mieux ta demande ...
    tu veux en fait tranformer le datepicker en agenda ...

    Il me semble que dans la discussion sur le calendrier developpez il doit y avoir un ou deux post sur la modification des styles des cases de date ...

    pour le datepicker ui regarde comment on le set à la date du jour, ça te donnera des idées

  9. #9
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 73
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Haaa je comprends mieux ta demande ...
    tu veux en fait tranformer le datepicker en agenda ...

    Il me semble que dans la discussion sur le calendrier developpez il doit y avoir un ou deux post sur la modification des styles des cases de date ...

    pour le datepicker ui regarde comment on le set à la date du jour, ça te donnera des idées
    Ok merci SpaceFrog je regarderai de plus prés.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 73
    Points : 35
    Points
    35
    Par défaut
    Salut Daniel,

    Merci, là tu m'a ouvert les portes des paradis. lool. Je vous tiens au courant dés que je commence à mettre ça en oeuvre.


  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 73
    Points : 35
    Points
    35
    Par défaut
    Encore une fois merci danielhagnoul, tu m'as mis sur la bonne route. J'ai modifiéé ton datepicker pour que satisfaire à mes besoins. J'ai aleger le code en enlevant pas mal de fonctions qui me serviront pas. Mainent au premier affichage du calendrier j'ai mes date qui sont en couleur rouge. Et mainent je veux que à hover de la souris sur l'une date qui contient un concert, on affiche un layer(ça je menocupe). J'ai besoin que quelq'un me guide pour savoir comment par exemple faire un alert(du contenu du concert).


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
    (function($){
        var nomJours = ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"];
     
        var nomMois = ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"];
     
        var concerts = [[16, 11, 2011, "contenu Concert1"],[17, 11, 2011, "contenu Concert2"],[18, 11, 2011, "contenu Concert3"]];
     
        setDays = function(day, month, year) {
            var result = [true, '', ''];    //par défaut, on affiche la date
            var concertsLength = 0;
            if (concerts != null) { 
     
                ConcertsLength = concerts.length;
                for (concert in concerts) {
                    if ((day == concerts[concert][0]) && (month == concerts[concert][1]) && (year == concerts[concert][2])) {
     
                        result = [true, 'concert', concerts[concert][0]];
                    }
                }
            }
     
            return result;
        }
     
        selectedDay = function(day, month, year) {
     
            //getDay() retourne un entier correspondant au jour de la semaine
            // 0 (dimanche), 1 (lundi), 2 (mardi), 3 (mercredi), 4 (jeudi), 5 (vendredi), 6 (samedi)
            var jourSemaine = new Date(year, month, day).getDay();
     
            $("#affiche").html("<p>Vous avez sélectionné le " +
                nomJours[jourSemaine] + " " + day + " " + nomMois[month] + " " + year + "</p>");
     
        }
     
        $(document).ready(function(){
     
            jQuery('#mycarousel').jcarousel({
                wrap: 'circular',
                auto: 1
            });
     
     
            $("#calendar").datepicker({
                numberOfMonths: 1,
                stepMonths: 1,
                showButtonPanel: true,
                currentText: "Aujourd'hui",
                nextText: "Suivant",
                prevText: "Précédent",
                minDate: new Date(2011,12 - 1,15), //du 1 juillet 2009
                maxDate: new Date(2012,12-1,31), //au 31 décembre 2009
                beforeShowDay: function(date) {
                    return setDays(date.getDate(), date.getMonth(), date.getFullYear());		
                /*
                * Si parmi les dates à colorer il y a des samedis ou des dimanches alors
                * mettez en commentaire tout ce qui précède et remplacez-le par :
                * return setDays(date.getDate(), date.getMonth(), date.getFullYear());
                */
                },
                onSelect: function(dateText) {
                    //le format de dateText est donné par l'option dateFormat
                    //transforme la date donnée au format texte (08082009) en day (8), month (7), year (2009)
                    selectedDay(
                        parseInt(dateText.slice(0,2),10),
                        parseInt(dateText.slice(3,5),10)-1,
                        parseInt(dateText.slice(6),10)
                        );
                }
     
            });
     
     
        });	//fin document ready
     
        $(window).load(function(){
     
            $("#calendar").mouseover();
        });
    })(jQuery);
    et le code css:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .ui-datepicker-calendar td.concert > a{color: #FF0000;}
    .ui-datepicker-calendar td.concert{background-color:#FFFFFF;}
    Merci d'avance.

  13. #13
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Très simple !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $("#calendar").on("click", "td.concert > a", function(event){
    	console.log( this ); // parseInt($(this).text(), 10) pour le jour
    });

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 73
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par danielhagnoul Voir le message
    Bonsoir

    Très simple !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $("#calendar").on("click", "td.concert > a", function(event){
    	console.log( this ); // parseInt($(this).text(), 10) pour le jour
    });
    Ok, j'ai pigé mais le probléme que moi je veux afficher le contenu (la déscription du concert) on cliquant ou en hover pars c pas un probléme. laors que la j peux récupérer que le jour, si j peux récupérer le mois et l'année aussii. comme ça j vérifiria dans mon array d concert et j'affiche le contenu.


    Merci d'avance.

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 73
    Points : 35
    Points
    35
    Par défaut
    c'est réglé !! Merci pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. "inst is undefined" pb jQuery datepicker
    Par aurelien12000 dans le forum jQuery
    Réponses: 0
    Dernier message: 31/01/2011, 17h54
  2. Jquery datepicker methode getdate()
    Par SPACHFR dans le forum jQuery
    Réponses: 1
    Dernier message: 29/09/2010, 17h08
  3. Réponses: 0
    Dernier message: 22/04/2010, 10h02
  4. [jQuery - DatePicker] Integration ratée
    Par lifty dans le forum jQuery
    Réponses: 1
    Dernier message: 08/07/2009, 17h00
  5. [jQuery] Datepicker: dates désactivé
    Par Spir dans le forum jQuery
    Réponses: 1
    Dernier message: 28/09/2008, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo