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 :

Débutant. UI Datepicker et Dialog, lorsque j'intègre le champ "input", le Datepicker ne fonctionne plus


Sujet :

jQuery

  1. #1
    Membre averti Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Points : 400
    Points
    400
    Par défaut Débutant. UI Datepicker et Dialog, lorsque j'intègre le champ "input", le Datepicker ne fonctionne plus
    Bonjour,

    J'essaie d'inclure dans une boite de dialogue générée via le plugin "Dialog" un "input text" associé au plugin Datepicker.

    Dans un premier temps j'ai testé les 2 plugins "cote à cote" sans problème. j'ai bien ma boite de dialogue et mon input et bien associé à Datepicker.

    Cependant lorsque j'intègre le champ "input" dans le Dialog, le Datepicker ne fonctionne plus. De plus je n'ai aucun message d'erreur.

    Je présume que mon manque de connaissance de jquery est en cause.....
    Pourriez vous m'indiquer comment faire ?

    Merci

    Ci-dessous ma page de test.
    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
     
    <html>
    <head>
    <meta charset="utf-8">
    <title>Essai framework Jquery</title>
    <link type="text/css" href="css/Themes/start/jquery-ui-1.8.5.custom.css" rel="Stylesheet" />
    <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="js/jquery-ui-1.8.5.custom.min.js"></script>
    <!--
    <script type="text/javascript" src="js/development-bundle/ui/minified/jquery.ui.slider.min.js"></script>
    -->
    <script type="text/javascript">
    $(document).ready(function() 
    {
      $('#date').datepicker({ 
    					showAnim : 'fold',
    					dateFormat: 'yy-mm-dd',
    					changeMonth: true,
    					changeYear: true,
    					onClose : function(){
    								//alert($('#date').val());
    								}
    					});
      	$(function() {
    		$("button").button();
    		$( "#dialog" ).dialog( "destroy" );
    		$( "#dialog-modal" ).dialog({
    			autoOpen : false,
    			height: 240,
    			modal: true,
    			show: "drop",
    			hide: "puff",
    			speed:"slow",
    			close: function(){
    					 $('#dialog-modal').empty();
    					 //$( "#dialog-modal" ).dialog( "destroy" );
    					}
    			});
    		$('#go').click(function(){ 
    						 $('#dialog-modal').dialog("option", "position", 'center' );
    						 $( "#dialog-modal" ).dialog( "open" );
    						 $( "#dialog-modal" ).append('<input type="text" name="date" id="date" />');
    						 //setTimeout(function(){$("#dialog-modal").dialog("close");},2000);
    						 return false;
    						});
     
    	});
     
    });            
    </script>
    <style>
    </style>
    </head>
    <body>
    <div id="dialog-modal" title="test dialog box">
    </div>
    <input type="text" name="date" id="date" />
    <button id="go">Open the box</button>
    <br>
    <div>
    <button>Button Label</button> 
    </div>
    </body>
    </html>

  2. #2
    Membre régulier Avatar de coach759
    Profil pro
    Webmaster
    Inscrit en
    Août 2009
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2009
    Messages : 79
    Points : 92
    Points
    92
    Par défaut
    Bonjour,

    Essai de mettre ton <input id="date"/> dans ton <div id="dialog-modal">, car actuellement tu l'ajoutes après dans ton div (à l'ouverture du dialog), donc peut être qui n'est pas considérer comme un datepicker (car le datepicker est déclaré en js au chargement de la page)

  3. #3
    Membre averti Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Points : 400
    Points
    400
    Par défaut
    Merci pour cette réponse.
    J'avais également pensé à ça (si j'ai bien compris) mais le résultat est idem..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $('#go').click(function(){ 
    	$( "#dialog-modal" ).append('<input type="text" name="date" id="date" />');
    	$('#dialog-modal').dialog("option", "position", 'center' );
            $( "#dialog-modal" ).dialog( "open" );
    	//setTimeout(function(){$("#dialog-modal").dialog("close");},2000);
    	return false;
    });

  4. #4
    Membre régulier Avatar de coach759
    Profil pro
    Webmaster
    Inscrit en
    Août 2009
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2009
    Messages : 79
    Points : 92
    Points
    92
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $( "#dialog-modal" ).append('<input type="text" name="date" id="date" />');
    -> Je sais pas si tu as bien compris, car là tu ajoutes ton input APRES avoir déclaré ton datepicker.

    Il faudrait que dès le debut tu fasse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div id="dialog-modal" title="test dialog box">
    <input type="text" name="date" id="date" />
    </div>
    Et que tu enlève
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $('#dialog-modal').empty();
    et
     $( "#dialog-modal" ).append('<input type="text" name="date" id="date" />');

  5. #5
    Membre averti Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Points : 400
    Points
    400
    Par défaut
    Effectivement en suivant tes conseils le Datepicker s'ouvre... tout seul.
    Mais impossible de le fermer. J'ai une erreur dans la console d'erreur de FF.

    Cependant, cela veux dire que je ne peux pas modifier dynamiquement le contenu du Dialog en incluant un Datepicker ?

  6. #6
    Membre régulier Avatar de coach759
    Profil pro
    Webmaster
    Inscrit en
    Août 2009
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2009
    Messages : 79
    Points : 92
    Points
    92
    Par défaut
    Bonjour,

    le Datepicker s'ouvre... tout seul.
    C'est parce que le focus est donné au champs input, et donc ça ouvre le datepicker
    Tu peux ajouter " showOn: 'button' " dans ta déclaration de datepicker.

    Cependant, cela veux dire que je ne peux pas modifier dynamiquement le contenu du Dialog en incluant un Datepicker ?
    Tu peux modifier dynamiquement ton dialog, mais dans ce cas là, il faut redéclarer ton datepicker après avoir inserer ton input.

    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
     
    $('#go').click(function(){ 
    	 $('#dialog-modal').dialog("option", "position", 'center' );
    	 $( "#dialog-modal" ).dialog( "open" );
    	 $( "#dialog-modal" ).append('<input type="text" name="date" id="date" />');
     
    	 $('#date').datepicker({ 
    		showAnim : 'fadeIn',
    		dateFormat: 'yy-mm-dd',
    		changeMonth: true,
    		changeYear: true,
    		onClose : function(){
    		     alert($('#date').val());
    		}
    	});
    	 return false;
    	});
    N'hésite pas si tu as encore besoin d'aide

  7. #7
    Membre averti Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Points : 400
    Points
    400
    Par défaut
    Merci pour toute ces informations.
    En suivant l'ensemble de tes conseils, j'ai le résultat souhaité.
    Donc on peu dire que le problème est résolu.
    Dommage qu'une seul déclaration du datepicker ne suffise pas pour gérer l'ensemble des sélecteurs associés y compris ceux ajoutés dynamiquement par DOM.
    Si le moyen existe je suis preneur....

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/08/2009, 00h08
  2. [SQL] Le résultat de la requête est tronqué lorsqu'on l'affiche dans un input text
    Par JackBeauregard dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/01/2007, 18h51
  3. Réponses: 1
    Dernier message: 11/01/2007, 11h01
  4. [débutant]lien entre deux dialog?
    Par mouss31 dans le forum MFC
    Réponses: 2
    Dernier message: 31/10/2006, 10h09
  5. Réponses: 7
    Dernier message: 04/05/2006, 10h51

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