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 :

Afficher un input de manière automatique


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 106
    Par défaut Afficher un input de manière automatique
    Bonjour,

    Je cherche à générer un input de manière automatique dès qu'on a commencé à saisir une valeur dans un premier champ mais je n'arrive pas au bout :/

    J'ai l'impression que mes variables check_option et check_val_previous ne sont pas prises en compte

    Voici mon code :

    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
     
    Dans mon html
    <div id="options"></div>
     
    <script>
    var id_option = 1;
    var appel = 0;
    addElement();
    function addElement() {
        var input = $('<div class="input text"><label for="AidesConjoncturellesVentesOption'+ id_option +'Prix">Option '+ id_option +'</label><input type="text" id="AidesConjoncturellesVentesOption'+ id_option +'Prix" name="data[AidesConjoncturellesVentesOption]['+ id_option +'][prix]" class="add-option decimal" /></div>').appendTo($("#options"));
       $('.add-option').keyup(function() {
    	   appel++;
    	  //alert(appel);
    		  //alert(option);
    		if(appel==1)
    		{
    			var check_option = $('#AidesConjoncturellesVentesOption'+id_option+'Prix').length; //Le retour est systématiquement à 0 alors que ce n'est pas le cas
    			var check_val_previous = $('#AidesConjoncturellesVentesOption'+id_option-1+'Prix').val();
    			alert(check_val_previous); //Le retour est systématiquement à undifined
           		if ($(this).val() != "" && check_option==0 && check_val_previous!='') {
           		appel = 0;	
                addElement();            
            }}
     
        });
        id_option++;
    }
    });
    Merci pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 106
    Par défaut
    J'ai trouvé la solution à mon problème que voici :

    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
    var id_option = 1;
        addOption(); //On initialise la fonction
     
        function addOption() {
            var input = $('<div class="input text" id="option-' + id_option + '"><label for="AidesConjoncturellesVentesOption' + id_option + 'Prix">Option ' + id_option + '</label><input type="text" id="AidesConjoncturellesVentesOption' + id_option + 'Prix" name="data[AidesConjoncturellesVentesOption][' + id_option + '][prix]" class="calcul-live add-option decimal" /></div>').appendTo($("#options"));
            $('.add-option').keyup(function (event) {
                $(this).live('blur', function () {
                    if ($(this).val() == '' && event.keyCode != 9) { //On regarde si val est vide et code !=9(tabulation)
                        //On récupère l'id de la div parente pour supprimer
    					id_div = $(this).parent().attr('id');
                        $('#'+id_div).remove();
                    }
                });
                var option_moins = id_option - 1;
                var check_option = $('#AidesConjoncturellesVentesOption' + id_option + 'Prix').length;
                var check_val_previous = $('#AidesConjoncturellesVentesOption' + option_moins + 'Prix').val();
                //alert('valeur saisie :'+$(this).val()+'check_option:'+check_option+'check_val_previous:'+check_val_previous);
                if (check_option == 0 && check_val_previous != '') {
                    addOption();
                }
            });
            id_option++;
        }

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/12/2012, 13h23
  2. Réponses: 7
    Dernier message: 30/03/2006, 15h43
  3. [DOM] DOM afficher un input avec du texte dedans
    Par NeHuS dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 28/01/2006, 22h41
  4. Afficher un input
    Par glloq8 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 18/10/2005, 11h14
  5. [MySQL] Modifier la base de manière automatique
    Par MANU_2 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 14/09/2005, 15h58

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