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 :

UI datepicker, modifier un champ datepicker en fonction d'un autre


Sujet :

jQuery

  1. #1
    Membre habitué Avatar de remyli
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 270
    Points : 151
    Points
    151
    Par défaut UI datepicker, modifier un champ datepicker en fonction d'un autre
    Bonjours,

    J'ai deux champ date dans mon formulaire. Un pour la date de début et un pour la date de fin.

    Je voudrais que le champ date de fin s'adapte au champs date de début. (Pour que la fin ne puisse pas être avant le début par exemple.)


    Ce que je voudrais faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if($("#dateDebut"))
    {
         jQuery("#dateDebut").change(function(){
            d = jQuery("#dateDebut").datepicker('getDate');
            jQuery("#dateFin").datepicker( 'setDate' , d+1);
        });
    }
    Évidemment si je fait ça; ça ne marche pas puisque datepicker('getDate') retourne une chaine de caractères.

    Pour le moment j'ai fait ça :
    Mais ça ne marche pas . (Cf exception)
    et je sens que ce n'est pas la bonne solution ....
    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
    if($("#dateDebut"))
    {
         jQuery("#dateDebut").change(function(){
            d = $("#dateDebut").datepicker( 'getDate' );
            alert(d);//Thu Dec 24 2009 00:00:00 GMT+0100 (CET)
            d = $.datepicker.parseDate( "D M dd yy ...", d );
            alert(d);// d est maintenant un objet Date
            d = d.getTime();
            alert(d); // d est maintenant un timestamp
            d + 60*60*24*1; //+1 jour
            alert(d); // d est un timestamp + 1 jour
            d = formatDate( 'yy/mm/dd', d );
            alert(d); // d est un string
            jQuery("#dateFin").datepicker( 'setDate' , d);
        });
    }
    Citation Envoyé par FireBug
    uncaught exception: Unknown name at position 0
    Line 0
    Orthographe => Message Privé constructif svp

  2. #2
    Membre habitué Avatar de remyli
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 270
    Points : 151
    Points
    151
    Par défaut une solution temporaire
    J'ai une solution temporaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    jQuery("#dateDebut").change(function(){
         d = $("#dateDebut").datepicker( 'getDate' );
         // alert(d);//Thu Dec 24 2009 00:00:00 GMT+0100 (CET)
         jQuery("#dateFin").datepicker('option', 'minDate',d);
    });
    Déjà j'utilise l'option minDate (Ce qui est plus rigoureux)
    Orthographe => Message Privé constructif svp

  3. #3
    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 : 73
    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.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $("#dateDebut").change(function(){
    	var d = $("#dateDebut").datepicker('getDate');
     
    	var n = new Date(d.getFullYear(), d.getMonth(), d.getDate() + 12);
     
    	$("#dateFin").datepicker('setDate', n);
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  4. #4
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut
    Une solution qui combine minDate - maxDate et synchronisation après choix de l'internaute

    http://www.developpez.net/forums/d87...r-calendriers/

Discussions similaires

  1. Champ incrémentiel en fonction d'un autre champ
    Par Yakov TOPRAK dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 24/06/2015, 11h09
  2. Comment modifier les champs d'une classe depuis une autre
    Par SuperJoker dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 19/06/2014, 11h28
  3. Champ automatique en fonction d'un autre.
    Par vangru.o dans le forum Modélisation
    Réponses: 5
    Dernier message: 19/12/2008, 00h09
  4. Réponses: 4
    Dernier message: 08/05/2008, 20h25
  5. Réponses: 7
    Dernier message: 06/01/2006, 10h47

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