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 :

Sélection id quand il est présent plusieurs fois


Sujet :

jQuery

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 113
    Points
    113
    Par défaut Sélection id quand il est présent plusieurs fois
    bonsoir , voici mon problème j'ai un tableau qui contient plusieurs tr avec le même id qui est nomme tmp , a l'interieur du tr il ya des input et une option select la meme chose pour les autres tr maintenant ce que je veux si je sectionnelle une option select qui est un produit les autre input sont remplir .
    maintenant mon probleme est que si je selectionne mon probleme select du premier tr les autre tr sont remplis .
    voici mon code html genéré:
    Code html : 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
    <table>		
        <tbody id="body">	
            <tr id="tmp" class="tr_delete">
                <td><img src="images/del.png" alt="" class="delRow" style="visibility: hidden;"></td>
                <td>
                    <select class="produit" name="produit[]">
                        <option value="-1"> Selectionner Un Produit</option>	
                        <option value="6">	legumes </option>
                        <option value="7">	tomate </option>
                        <option value="8">	cartotte </option>
                        <option value="9">	ognion </option>
                        <option value="10">	ordinateur </option>
                        <option value="11">	imprimante </option>
                        <option value="12">	ORDIN2 </option>
                        <option value="13">	IMP2 </option>
                        <option value="14">	ORD3 </option>
                        <option value="15">	IM3 </option>
                    </select>
                </td>
                <td> <input type="text" class="qte" name="qte[]"></td>
                <td> <input type="text" class="prixunit" name="qte_dispo[]"></td>
                <td> <input type="text" class="qte_dispo" name="qte_dispo[]"></td>
                <td> <input type="text" class="mont_total" name="mont_total[]"></td>
            </tr>
            <tr id="tmp" class="tr_delete">
                <td><img src="images/del.png" alt="" class="delRow" style="visibility: hidden;"></td>
                <td>
                    <select class="produit" name="produit[]">
                        <option value="-1"> Selectionner Un Produit</option>	
                        <option value="6">	legumes </option>
                        <option value="7">	tomate </option>
                        <option value="8">	cartotte </option>
                        <option value="9">	ognion </option>
                        <option value="10">	ordinateur </option>
                        <option value="11">	imprimante </option>
                        <option value="12">	ORDIN2 </option>
                        <option value="13">	IMP2 </option>
                        <option value="14">	ORD3 </option>
                        <option value="15">	IM3 </option>
                    </select>
                </td>
                <td> <input type="text" class="qte" name="qte[]"></td>
                <td> <input type="text" class="prixunit" name="qte_dispo[]"></td>
                <td> <input type="text" class="qte_dispo" name="qte_dispo[]"></td>
                <td> <input type="text" class="mont_total" name="mont_total[]"></td>
            </tr><tr id="tmp" class="tr_delete">
                <td><img src="images/del.png" alt="" class="delRow" style="visibility: hidden;"></td>
                <td>
                    <select class="produit" name="produit[]">
                        <option value="-1"> Selectionner Un Produit</option>	
                        <option value="6">	legumes </option>
                        <option value="7">	tomate </option>
                        <option value="8">	cartotte </option>
                        <option value="9">	ognion </option>
                        <option value="10">	ordinateur </option>
                        <option value="11">	imprimante </option>
                        <option value="12">	ORDIN2 </option>
                        <option value="13">	IMP2 </option>
                        <option value="14">	ORD3 </option>
                        <option value="15">	IM3 </option>
                    </select>
                </td>
                <td> <input type="text" class="qte" name="qte[]"></td>
                <td> <input type="text" class="prixunit" name="qte_dispo[]"></td>
                <td> <input type="text" class="qte_dispo" name="qte_dispo[]"></td>
                <td> <input type="text" class="mont_total" name="mont_total[]"></td>
            </tr></tbody>
    </table>

    et code jquery

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $(document).ready(function() {
        $('#body #tmp .produit:eq(0)').each(function(){
          	//var more = $(this).parent().parent().find('#tmp .produit');
            $(this).blur(function() {
                $.post('check_item_details.php', {stock_id1: $(this).val() }, function(data){
                    $(".prixunit").val(data.prixunit);
                    $(".qte").val(data.qte);                                              
                    $(".qte_dispo").val(data.qte_dispo);
    		if(data.qte!=undefined)
                        $(".0").focus();
                }, 'json');
            })
        });
    });

    merci d'avance

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Répété un nombre incalculable de fois : un id doit être unique dans la page !
    S'attaquer à JavaScript (ou jQuery, c'est pareil) sans maîtriser les bases de HTML est un non sens.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 113
    Points
    113
    Par défaut
    merci pour ta reponse , pour mon cas j ai qu un seul tr les autres sont cloner , j ai meme essayer de mettre des classe c'est le meme resultat maintenant je dirais plutot selection class quand il est present plusieurs fois
    a chaque que je sélectionne un produit du premier tr les autre produit des autre tr sont appelé

    merci d'avance

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Je comprends pas trop ce que tu demandes, mais une chose est sure, ton code est incohérent...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#body #tmp .produit:eq(0)').each(function(){...}
    D'une part, à quoi te sert le .each() puisqu'avec le sélecteur finissant avec :eq(0), ton résultat ne contiendra qu'un seul élément...
    Ce qui explique du coup pourquoi ça ne risque pas d'affecter les autres ! !aie:
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 113
    Points
    113
    Par défaut
    j ai supprimer mon id tmp maitenant j utilise la classe tr_delete
    la fonction each j utilise pour boucker le tbody et recuperer le la produit du tr selectionner
    voila j ai changer le code la je recuperer uniquement la classe produit selectionner tout en sachant que ya plusieurs classe de meme nom produit
    voici le nouveau code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function() {
        $('#body .tr_delete .produit:eq(0)').blur(function() {	
            $.post('check_item_details.php', {stock_id1: $(this).val() }, function(data){
                $(".prixunit").val(data.prixunit);
                $(".qte").val(data.qte);                                              
                $(".qte_dispo").val(data.qte_dispo);				
                if(data.qte!=undefined)
                    $(".0").focus();												
            }, 'json');												
        });
    }
    Nom : cap.png
Affichages : 575
Taille : 332,9 Ko
    bon j ai ci-joint ici mon resultat pour ici j ai selectionner produit ordinateur mais le resultat s affiche sur tous les tr cela est dit a la classe produit qui se repete dans chaque tr

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/08/2012, 15h06
  2. Savoir si un caractère est présent plusieurs fois
    Par benjibul dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 20/09/2011, 13h26
  3. La propriété Content est définie plusieurs fois
    Par mahdi26_ca dans le forum Silverlight
    Réponses: 4
    Dernier message: 02/04/2011, 19h04
  4. [RegEx] Détection d'une chaine présente plusieurs fois par ligne
    Par Tchupacabra dans le forum Langage
    Réponses: 6
    Dernier message: 03/07/2009, 16h54
  5. Réponses: 5
    Dernier message: 07/04/2008, 17h40

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