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 :

Appeler datepicker dans une fonction externe


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 45
    Par défaut Appeler datepicker dans une fonction externe
    Bonjour,

    J'ai un petit soucis avec mon code ci-dessous, le datepicker ne fonctionne pas s'il est appelé via la classe datepicker dans ma fonction jquery.
    Il fonctionne pourtant parfaitement dans les champs input (classe="datepicker") si je mets le formulaire en dur en html.

    D'ou vient le problème ?
    Ligne 27 et ligne 31

    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
     
    <script type="text/javascript">
    $(function() {
            var scntDiv = $('#experience');
            var i = $('#experience div').size() + 2;
     
            $('#addScnt').live('click', function() {
                    $('<div class="section"><li id="_4'+i+'">'
     
    					+ '<label class="description" for="entreprise">Experience ' + i +'</label>'
     
    					+ '<div class="left">'
    					+ '<input type="text" class="element text medium" id="entreprise[' + i +']" name="entreprise[' + i +']" value="" />'
    					+ '<label>Nom de l\'entreprise</label></div>'
     
    					+ '<div class="right">'
    					+ '<input type="text" class="element text medium" id="fonction[' + i +']" name="fonction[' + i +']" value="" />'
    					+ '<label>Fonction occupée</label>'
    					+ '</div>'
     
    					+ '<div>'
    					+ '<input type="text" class="element text medium" id="secteur[' + i +']" name="secteur[' + i +']" value="" />'
    					+ '<label>Secteur d\'activit&eacute;</label>'
    					+ '</div>'
     
    					+ '<div class="left">'
    					+ '<input type="text" class="element text medium datepicker" id="date_debut[' + i +']" name="date_debut[' + i +']" value="" />'
    					+ '<label>Date de debut</label></div>'
     
    					+ '<div class="right">'
    					+ '<input type="text" class="element text medium datepicker" id="date_fin[' + i +']" name="date_fin[' + i +']" value="" />'
    					+ '<label>Date de fin</label>'
    					+ '</div>'
     
    					+ '<label class="description" for="description">Description</label>'
    					+ '<div>'
    					+ '<textarea id="description2" name="description2" placeholder="D&eacute;taillez vos missions, r&eacute;alisations, etc..." class="element textarea medium"></textarea>'
    					+ '</div>'
     
    					+ '<p><a href="#" id="removeDiv">Supprimer</a></p>'
    					+'</li></div>')
     
    				.appendTo(scntDiv);
                    i++;
                    return false;
            });
     
            $('#removeDiv').live('click', function() { 
                    if( i > 1 ) {
                            $(this).parents('div:first').remove();
                            i--;
                    }
                    return false;
            });
    });
    </script>
    Merci !

  2. #2
    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 : 75
    Localisation : Belgique

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

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

    La méthode live() est obsolète.

    Nous en sommes à la version : "http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js".

    $( "sélecteur parent non dynamique" ).on( "click", "sélecteur enfant dynamique ou non", function(){ ... });.

    $( "body" ).on( "click", ".datepicker", function(){ ... });.

    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.)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 45
    Par défaut
    Pour ajouter un élément j'ai remplacer la fonction Live() par la fonction on() et ça fonctionne, par contre pour la fonction remove ça marche pas.

    Ce code fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $('#removeDiv').live('click', function() { 
        if( i > 1 ) {
    	$(this).parents('div:first').remove();
            i--;
        }
        return false;
    });
    Mais pas celui la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $('#removeDiv').on('click', function() { 
        if( i > 1 ) {
    	$(this).parents('div:first').remove();
            i--;
        }
        return false;
    });
    Pourquoi ?

  4. #4
    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 : 75
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    $( "body" ).on( "click", "#removeDiv", function(){ ... });..

    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.)

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

Discussions similaires

  1. appel à un exécutable externe dans une fonction
    Par thhomas dans le forum Langage
    Réponses: 4
    Dernier message: 11/08/2010, 21h27
  2. Appel processus dans une fonction
    Par donovann dans le forum C
    Réponses: 2
    Dernier message: 03/02/2009, 13h08
  3. [langage] appel d'un tableau dans une fonction
    Par donny dans le forum Langage
    Réponses: 11
    Dernier message: 13/11/2006, 16h17
  4. Réponses: 4
    Dernier message: 28/07/2006, 14h01
  5. Réponses: 12
    Dernier message: 12/05/2006, 09h21

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