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

JavaScript Discussion :

Sélection dynamique javascript, Ajax ou jquery


Sujet :

JavaScript

  1. #21
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Septembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    J'ai déjà essayé le .show, mais il ne m'affiche que la liste dans ma page sur la div et pas dans une popup...
    tu pourrais juste développer un tout petit peu plus stp?
    Merci d'avance

  2. #22
    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 638
    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 638
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    il te suffit de "styliser ton div" poru en faire un popin ... le popup c'est plus que hasbeen ...

    il existe de plugins jquery de popins
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #23
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Septembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    ok avec l'aide d'un plug j'arrive à obtenir ma popup.

    En testant un peu plus avant je m'apperçois que la première fois que je sélectionne une client dans ma popup il s'inscrit au bon endroit sans souci, mais dans le cas ou je me serais trompé de client et que je veux en sélectionner un autre, rien ne se passe, par contre l'alerte me donne bien la bonne sélection.

    Vous pouvez me dire pourquoi, là je sèche....

    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
    $("#insClient").click(function()
    	{
    		$.ajax
    		(
    			{
    				method: "POST",  // methode post ou get 
    				url: "mapage.php", // url de la page php de traitement qui retournera les données
    				success: function(reponse)
    				{
    					$("#afficheListe").html( reponse );
    			  		$("#afficheListe").find("tr").css("cursor","pointer").on("click", function()
    					{
    						nom_client = $(this).children("#id_nomclient").text();
    						adresse_client = $(this).children("#id_adresseclient").text();
    						ville_client = $(this).children("#id_villeclient").text();
    			 			alert(nom_client + "\n" + adresse_client + "\n" + ville_client);
    						$("#nom").replaceWith($(nom_client));
    						$("#adresse").replaceWith(adresse_client);
    						$("#ville").replaceWith(ville_client);
             			}
    					)
    				}
    			}
    		)
    	})

  4. #24
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 386
    Points : 10 413
    Points
    10 413
    Par défaut
    Salut,

    Tu as eu le bon réflexe en plaçant ton alerte pour vérifier. Logiquement le problème se situe donc après.

    Pas bon les "replaceWidht". Tu remplace tout le bloc html par du texte => ton bloc n'existe plus. Donc au second click on ne peut pas trouver d'id correspondant. D'ailleurs tu devrais t'en apercevoir dans l'inspecteur des éléments de ton navigateur - il faut utiliser intensivement cet outil en développement quand tu modifie le dom avec javascript pour visualiser ce que tu fais - tu nique tous les input de ton formulaire
    Alors qu'il vaudrait mieux simplement leur attribuer une valeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#nom").val(nom_client);

  5. #25
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Septembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Salut,

    Oui effectivement, je me suis rendu compte de ça hier soir et j'ai modifié le code avec le .val...

    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
    $("#insClient").click(function()
    	{
    		$.ajax
    		(
    			{
    				method: "POST",  // methode post ou get 
    				url: "mapage.php", // url de la page php de traitement qui retournera les données
    				success: function(reponse)
    				{
    					$("#afficheListe").css("visibility", "visible");
    					$("#afficheListe").html( reponse );
    			  		$("#afficheListe").find("tr").css("cursor","pointer").on("click", function()
    					{
    						nom_client = $(this).children("#id_nomclient").text();
    						adresse_client = $(this).children("#id_adresseclient").text();
    						ville_client = $(this).children("#id_villeclient").text();
    						$("#nom").val(nom_client);
    						$("#adresse").val(adresse_client);
    						$("#ville").val(ville_client);
    						$("#afficheListe").css("visibility", "hidden");
             			}
    					)
    				}
    			}
    		)
    	})
    Là ça fonctionne comme je le souhaite, je dois encore tester l'envoi du formulaire pour voir si il garde toutes les données.
    Reste maintenant l'ajout des articles dans la facture, mais le principe devrait être le même, j'ai juste besoins de voir comment récupérer dans la popup plusieurs articles avec des cases à cochées et ajouter le nombre de lignes de formulaires en fonction.

    Merci encore pour ton aide

  6. #26
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Septembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Salut,

    Je viens de faire la partie finale de cette facture et il reste un bug que je n'arrive pas à comprendre pour l'heure...
    Voici le code html de mes lignes de facture à remplir

    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
    <table width="100%">
    						<tbody>
    							<tr>
    								<th width="10px">
                                    	<img id="insArticle" src='../../images/icon_add.png' width='16' height='16'>
    								</th>
                                    <th width="250px">
                                    	Désignation
    								</th>
                                    <th width="30">
                                    	Unité
    								</th>
                                    <th width="30">
                                    	Quantité
                  					</th>
                                    <th width="30">
                                    	Prix
                  					</th>
                                    <th width="30">
                                    	TVA
                  					</th>
                                    <th width="30">
                                    	Total
                  					</th>
                                </tr>
                                <tr id="facRow">
    								<td width="10px">
                                    	<img id="insArticle" src='../../images/icon_add.png' width='16' height='16'>
    								</td>
                                    <td width="250px">
                                    	<input id="designation" type="text" class="facBig" />
    								</td>
                                    <td width="30">
                                    	<input id="unite" type="text" class="facSmall"/>
    								</td>
                                    <td width="30">
                                    	<input id="quantite" type="text" class="facSmall" />
    								</td>
                                    <td width="30">
                                    	<input id="prixUnite" type="text" class="facSmall" />
    								</td>
                                    <td width="30">
                                    	<input id="taxe" type="text" class="facSmall" />
    								</td>
                                    <td width="30">
                                    	<input id="totLine" type="text" class="facSmall" />
    								</td>
                                </tr>
                                <tr id="facRow">
    								<td width="10px">
                                    	<img id="insArticle" src='../../images/icon_add.png' width='16' height='16'>
    								</td>
                                    <td width="250px">
                                    	<input id="designation" type="text" class="facBig" />
    								</td>
                                    <td width="30">
                                    	<input id="unite" type="text" class="facSmall"/>
    								</td>
                                    <td width="30">
                                    	<input id="quantite" type="text" class="facSmall" />
    								</td>
                                    <td width="30">
                                    	<input id="prixUnite" type="text" class="facSmall" />
    								</td>
                                    <td width="30">
                                    	<input id="taxe" type="text" class="facSmall" />
    								</td>
                                    <td width="30">
                                    	<input id="totLine" type="text" class="facSmall" />
    								</td>
                                </tr>
                                <tr>
    								<td colspan="6" class="right">
                                    	Total facturé
    								</td>
                                    <td>
                                    	<input id="tot" type="text" class="facSmall" readonly="readonly" value="10'000.00"/>
    								</td>
                                </tr>
                            </tbody>
                        </table>
    J'ai mis deux lignes de base ensuite le comptable pourra ajouter des lignes au besoin.
    Avec l’icône à gauche on peut récupérer un article dans une popup comme pour le client précédemment.

    A ce stade, je souhaite calculer le total de chaque ligne en tenant compte du nombre de pièces et du prix unitaire et cela pour chaque lignes.

    Le code suivant fait bien une partie du travail, mais sur toutes les lignes en même temps. du coup je comprends plus...

    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
    //=================================================
    	//	Calcule et affichage du total de la facture.
    	//=================================================
     
    	$("tr[id='facRow']").each(function()
    	{
    		$("input[id='quantite']").focusout(function()
    		{
    			var quantite = $(this).val();
    			alert(quantite);
     
    			$("input[id='prixUnite']").focusout(function(e)
    			{
    				var prixUnite = $(this).val();
    				var totLine = quantite * prixUnite;
    				$("input[id='totLine']").val(totLine + ".00");
    			});
    		});
    	});
    Merci d'avance pour votre aide...

  7. #27
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 386
    Points : 10 413
    Points
    10 413
    Par défaut
    Salut,

    Un id doit être unique dans une page...

  8. #28
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Septembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Salut,
    ça je comprends bien, mais peux-tu m’aiguillé pour programmer ce qui suit (ça fait 12 heures que je tourne en rond sur ce problème)

    Ligne de facture 1
    Designation => Unité => Quantité => Prix HT => TVA => Total ligne

    Ligne facture 2
    idem

    Ligne facture 3
    idem mais ajouter plus tard par JQuery.

    Total facturé
    TotalLigne1 + TotalLigne2

    J'ai essayé de mettre des N° après mes ID puis dans le code :
    puis dans la boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ligneNum ++; 
    var quantite = $("#quantite_"+ligneNum).val();
    mais apparemment ça ne fonctionne pas.

    Par cette réponse je ne demande pas la solution toute cuite, mais juste une base de départ pour continuer à apprendre ce JQuery.

    Merci d'avance et bonne soirée

  9. #29
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 386
    Points : 10 413
    Points
    10 413
    Par défaut
    C'est un problème de html, pas de jquery.

    Pour des blocs qui se répètent dans une page tu peux utiliser des classes, des attributs data, des input etc mais pas des id. D'ailleurs tu as des input alors pourquoi ne pas se servir des attributs "name" (que bizarrement tu n'utilise pas) pour les cibler plutôt qu'un id. On peut très bien cibler un bloc sans qu'il ait d'id, faut pas en mettre partout !

  10. #30
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Septembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Salut,

    Après des heures de recherche et de lecture intensive, j'ai trouvé une piste à suivre, malheureusement c'est en JQuery 1.5
    du coup dès le départ ça plante sous 1.11.3 que j'utilise pour le reste...

    Voici donc le début que je voudrais convertir de 1.5 à 1.11

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $("#fac_table").live({
        blur: function() {
        ... ... ...
        }
    });
    J'ai bien essayé de faire ceci, mais sans succès et je ne comprends pas pourquoi... Selon la doc le .live est remplacé par .on()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $("#fac_table").on("blur", function()
    {
        ... ... ...
    });
    Voilà si tu pouvais déjà me donner un conseil pour ça, je pense pouvoir résoudre la suite...
    Merci d'avance

  11. #31
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Septembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Le problème est réglé, mon application fonctionne, merci pour votre aide...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $(document).on("blur", "#fac_table", function ()
    	{
    		... ... ...
    	});
    Pour le dernier post, il s'agissait de mettre les différents paramètres dans l'ordre...

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/06/2012, 14h13
  2. [AJAX] SELECT dynamique avec Ajax et Javascript
    Par staff85 dans le forum AJAX
    Réponses: 4
    Dernier message: 22/10/2010, 16h31
  3. Formulaire avec champ dynamique javascript/ajax
    Par Louka-65 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 24/07/2009, 16h34
  4. AJAX en JQuery et retour javascript pour Google Map
    Par Lianodel dans le forum jQuery
    Réponses: 6
    Dernier message: 09/02/2009, 17h24

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