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 :

Récupération d'un élément d'un tableau avec jQuery


Sujet :

jQuery

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2011
    Messages : 104
    Points : 53
    Points
    53
    Par défaut Récupération d'un élément d'un tableau avec jQuery
    Bonjour,

    j'ai un tableau en php est à chaque ligne j'ai un bouton lorsque je clic sur ce bouton une fonction en jquery s’exécute, mon problème c'est que je ne peux récupéré la valeur courant de la ligne il m'affecte la valeur de la première ligne du tableau,

    code php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
      echo"<tr class='tr' style='background-color:#FFDA8C;'>";
                echo"<td class='td'>" . $l[0] . "</td>";
                echo"<td class='td'align='center'>Achat</td>";
                echo"<td class='td'align='left'>" . $l[2] . "</td>";
                echo"<td class='td'>" . $l[3] . "</td>";
                echo"<td class='td'>" . $l[4] . "</td>";
                echo"<td class='td'>" . $l[5] . "</td>";
                echo"<td class='td'>" . $l[6] . "</td>";
                echo"<td class='td'>" . $l[7] . "</td>";
                echo "<form>";
                echo "<td class='td'><input type='text' id='numorder' value='$l[8]' hidden='non' /><input type='submit'value='Modifier' style=' background-color:#667882; color:#FCFAE1' /></td>";
                echo"<td class='td'><input type='text' id='numorder' value='$l[8]' hidden='non' /><input type='submit' value='$l[8]' style=' background-color:#667882; color:#FCFAE1' onclick=\"annuleordre(this.value);\"/></td>";
                echo"</form>";
    merci pour votre aide

  2. #2
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Points : 3 748
    Points
    3 748
    Par défaut
    Merci de poster ton HTML généré ainsi que ta fonction jQuery.

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2011
    Messages : 104
    Points : 53
    Points
    53
    Par défaut
    merci pour voptre aide

    page php qui génère le tableau :
    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
    82
    83
    84
    85
    86
    87
    <head>
        <script src="jquery-ui-1.8.16/jquery-1.6.2.js"></script>
        <script type="text/javascript" src="script.js"></script>
    </head>
    <table class="taborder" align="center">   
        <tr>
            <td colspan="4" style="background-color: #999999; font-size:20px; color:#FFF7EE ;">Mes Ordres En Cours</td>
            <td  colspan="2" style="background-color: #999999; font-size:18px; color:#183152;" align="right">Total Ordres&nbsp;&nbsp;</td>
            <td  style="background-color: #999999; font-size:18px; color:#3B0405;"><?php echo number_format(str_replace(',', '.', getsommeachat($id, $cnx) + getSommeAchatAtp($id, $cnx)), 3); ?></td>
            <td colspan="2" style="background-color: #999999; font-size:18px; color:#183152 ;"align="right">Trésorerie Restante&nbsp;&nbsp;</td>
            <td  style="background-color: #999999; font-size:18px; color:#3B0405 ;" ><?php echo number_format(str_replace(',', '.', getsolderestante($id, $cnx)), 3); ?></td>
        </tr>
        <tr class="th">
            <td>N° Ordre</td>
            <td>Opération</td>
            <td>Titres</td>
            <td>Statut</td>
            <td>Quantité</td>
            <td>Prix</td>
            <td>Quantité Dévoilée</td>
            <td>Date Validité</td>
            <td>Modifier</td>
            <td>Annuler</td>
            <td>Annuler</td>
        </tr>
        <?php
        $sql = "select t.num_ordre, t.sense, ti.libcou, t.statut, t.quantite, t.limite_prix ,t.quantite_dev, t.date_validite, t.num_interface
                from ORDRES_WEB t, vclie cl, vcptm cp, vtitr ti
                where cl.codcli = '$id'
                and cl.codcli = cp.codcli
                and cp.NUM_CPT_MAT = t.num_compte
                and t.code_titre = ti.codtit
                order by NUM_ORDRE";
        $st = oci_parse($cnx, $sql);
        $res = oci_execute($st, OCI_DEFAULT);
        while ($l = oci_fetch_array($st)) {
            if(getNumTerface($cnx,$l[8])== true){
             echo"<tr class='tr' style='background-color:#77ABD6;'>";
                echo"<td class='td'>" . $l[0] . "</td>";
                echo"<td class='td'align='center'>Annuler</td>";
                echo"<td class='td'align='left'>" . $l[2] . "</td>";
                echo"<td class='td'>" . $l[3] . "</td>";
                echo"<td class='td'>" . $l[4] . "</td>";
                echo"<td class='td'>" . $l[5] . "</td>";
                echo"<td class='td'>" . $l[6] . "</td>";
                echo"<td class='td'>" . $l[7] . "</td>";  
                echo"<td class='td'></td>"; 
                echo"<td class='td'></td>";
                echo"<tr></tr>";
                    
            }else{
            if ($l[1] == 1) {
                echo"<tr class='tr' style='background-color:#FFDA8C;'>";
                echo"<td class='td'>" . $l[0] . "</td>";
                echo"<td class='td'align='center'>Achat</td>";
                echo"<td class='td'align='left'>" . $l[2] . "</td>";
                echo"<td class='td'>" . $l[3] . "</td>";
                echo"<td class='td'>" . $l[4] . "</td>";
                echo"<td class='td'>" . $l[5] . "</td>";
                echo"<td class='td'>" . $l[6] . "</td>";
                echo"<td class='td'>" . $l[7] . "</td>";
                echo "<form>";
                echo "<td class='td'><input type='text' id='numorder' value='$l[8]' hidden='non' /><input type='submit'value='Modifier' style=' background-color:#667882; color:#FCFAE1' /></td>";
                echo"<td class='td'><input type='text' id='numorder' value='$l[8]' hidden='non' /><input type='submit' value='$l[8]' style=' background-color:#667882; color:#FCFAE1' onclick=\"annuleordre(this.value);\"/></td>";
                echo"</form>";
              
            } else {
                echo"<tr class='tr' style='background-color:#B0CC99;'>";
                echo"<td class='td'>" . $l[0] . "</td>";
                echo "<td class='td'align='center'>Vente</td>";
                echo"<td class='td'align='left'>" . $l[2] . "</td>";
                echo"<td class='td'>" . $l[3] . "</td>";
                echo"<td class='td'>" . $l[4] . "</td>";
                echo"<td class='td'>" . $l[5] . "</td>";
                echo"<td class='td'>" . $l[6] . "</td>";
                echo"<td class='td'>" . $l[7] . "</td>";
                          
                
            }
            
            echo"</tr>";
        }
        }
        oci_close($cnx);
        ?>
     
    </table>
    ma fonction Jquery
    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
     
    function annuleordre(q){
        var test = q;
        //alert(test);
        $.ajax({
     
            url:"annuleorder.php?q="+test,
     
            success: function(){
     
            }
     
        });
     
    }

  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 : 54
    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 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Macmillenium
    Merci de poster ton HTML généré
    Euh... tu appelles ça du HTML ?
    Important : Les règles incontournables d'utilisation de ce forum
    Citation Envoyé par Macmillenium
    ainsi que ta fonction jQuery.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function annuleordre(q){
        var test = q;
        //alert(test);
        $.ajax({
     
            url:"annuleorder.php?q="+test,
     
            success: function(){
     
            }
     
        });
     
    }
    Ah oui, c'est beaucoup plus clair maintenant...

  5. #5
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2011
    Messages : 104
    Points : 53
    Points
    53
    Par défaut
    Bonjour,

    je suis désolé ci dessous monde code html

    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
     
    <head>
        <script src="jquery-ui-1.8.16/jquery-1.6.2.js"></script>
        <script type="text/javascript" src="script.js"></script>
    </head>
    <table class="taborder" align="center">   
        <tr>
            <td colspan="4" style="background-color: #999999; font-size:20px; color:#FFF7EE ;">Mes Ordres En Cours</td>
            <td  colspan="2" style="background-color: #999999; font-size:18px; color:#183152;" align="right">Total Ordres&nbsp;&nbsp;</td>
            <td  style="background-color: #999999; font-size:18px; color:#3B0405;">35,700.000</td>
     
            <td colspan="2" style="background-color: #999999; font-size:18px; color:#183152 ;"align="right">Trésorerie Restante&nbsp;&nbsp;</td>
            <td  style="background-color: #999999; font-size:18px; color:#3B0405 ;" >49,245.000</td>
        </tr>
        <tr class="th">
            <td>N° Ordre</td>
            <td>Opération</td>
            <td>Titres</td>
     
            <td>Statut</td>
            <td>Quantité</td>
            <td>Prix</td>
            <td>Quantité Dévoilée</td>
            <td>Date Validité</td>
            <td>Modifier</td>
     
            <td>Annuler</td>
            <td>Annuler</td>
        </tr>
     
     
    	<tr class='tr' style='background-color:#FFDA8C;'><td class='td'>41276</td>
    	<td class='td'align='center'>Achat</td><td class='td'align='left'>ADWYA</td>
    	<td class='td'>2</td><td class='td'>100</td><td class='td'>7</td><td class='td'>0</td>
    	<td class='td'>21/11/11</td>
    	<form><td class='td'>
    	<td class='td'><input type='text' id='numorder' value='732' hidden='non' />
    	<input type='submit' value='annuler' style=' background-color:#667882; color:#FCFAE1' onclick="annuleordre(this.value);"/>
    	</td>
    	</form>
     
    </table>
    fonction Jquery
    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
     
    unction annuleordre(q){
        var test = q;//$("#numorder").val();
        //alert(test);
        $.ajax({
     
            url:"annuleorder.php?q="+test,
     
            success: function(){
     
            }
     
        });
     
    }
    merci pour votre aide.

  6. #6
    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 640
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     success: function(){
     
            }
    ça c'est de la fonction !!!!

    Autant essayer la télépathie !

  7. #7
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2011
    Messages : 104
    Points : 53
    Points
    53
    Par défaut
    bonjour,

    je suis désolé je n'ai pas bien compris votre réponse est ce que vous pouvez m'expliquer de plus.

    Merci pour votre aide.

  8. #8
    Membre expert
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Points : 3 535
    Points
    3 535
    Billets dans le blog
    1
    Par défaut
    Au retour de ta fonction ajax, tu ne fait rien.

  9. #9
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2011
    Messages : 104
    Points : 53
    Points
    53
    Par défaut
    merci une autre pour votre aide.
    mon problème c'est pas dans le retour de la fonction jquery.
    c'est que j'ai plusieurs input et bouton qu'ils ont le même id et inséré dans un tableau comme l'image ci-dessous.
    le problème c'est que je clic sur une bouton il me renvoi toujours l'id du premier input du tableau et pas l'id courant devant le bouton que j'ai fais sur laquelle un clic.
    Nom : 1.JPG
Affichages : 935
Taille : 60,4 Ko

  10. #10
    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 : 54
    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 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    qu'ils ont le même id
    Un id doit être unique dans la page (sinon, ça ne s'appellerait pas un identifiant) !
    Si tu ne respectes pas cette règle pourtant simple, jQuery ne peut plus rien pour toi !

  11. #11
    Membre régulier Avatar de tidus_6_9_2
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Points : 116
    Points
    116
    Par défaut
    De ce que j'ai pus voir, je crois que ton bouton envoyer est de type submit. Donc si y'a pas de formulaire, il ne va pas y avoir d'action.

    Donc sur le bouton, tu créer ton onClick="tasuperfonction('IDQueTuVeuxLuiDonner');"

    Ensuite il te suffit de récupérer la valeur de l'id que tu lui a donné en paramètre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function tasuperfonction(id){
    alert($('#'+id).val());
    }
    Et comme le dit très bien Bovino, un ID c'est unique... Sinon je dois changer de boulot, car plus rien ne serait logique en se bas monde

    Cordialement

  12. #12
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2011
    Messages : 104
    Points : 53
    Points
    53
    Par défaut
    oui Bovino vous avez raison, mais dont mon cas lorsque je mettre une id sur une ligne du tableau, si j'ai 10 ligne alors l'id va se répéter 10 fois, et lorsque j’utilise jquery il va récupérer le premier id qu'il va rencontrer donc comment je peut récupérer l'id 5 ligne par exemple ??

    Bovino est ce que mon raisonnent et juste, si non est ce que vous pouvez m'explique SVP.

    merci

  13. #13
    Membre régulier Avatar de tidus_6_9_2
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Points : 116
    Points
    116
    Par défaut
    Commence par mettre un id différent à chaque ligne du tableau...

    Fait une boucle ou tu met la variable i dans l'id par exemple, mais fait quelque chose pour que ton id ne soit pas répété deux fois de suite!

  14. #14
    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 640
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    pas besoin d'id pour repérer l'element cliqué avec jQUery ...
    un name unique suffit ... ensuite suffit de passer $(this) en param ou recupérer item dans le param du click

  15. #15
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2011
    Messages : 104
    Points : 53
    Points
    53
    Par défaut
    d'accord je viens de faire une boucle mais comment je vais appeler l'id dans jquery si je ne connais pas son nom, parce que si j'ai 10 ligne don j'ai des id qui commence de id1....id10.

    merci

  16. #16
    Membre régulier Avatar de tidus_6_9_2
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Points : 116
    Points
    116
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><input id="1" type="text" value="" /></td><td><button onClick="mafonction('1');">Enregistrer</button></td>
    En gros tu as quelque chose dans ce genre là et tu appelle ta fonction "mafonction(id);" pour faire le traitement que tu as besoin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function mafonction(id){
    alert($('#'+id).val());
    }
    Ou comme l'a dit SpaceFrog, tu peux aussi mettre un name="mesvaleurs" à tout tes inputs et après tu fais une boucle avec jquery sur tous les name qui sont égaux à mesvaleurs.

  17. #17
    Membre expert
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Points : 3 535
    Points
    3 535
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Un id doit être unique dans la page (sinon, ça ne s'appellerait pas un identifiant) !
    Si tu ne respectes pas cette règle pourtant simple, jQuery ne peut plus rien pour toi !

    /me prends ces pillules de rappèle et s'éloigne discrètement du thread......



Discussions similaires

  1. Récupérer une valeur d'un tableau avec jQuery
    Par waouni dans le forum jQuery
    Réponses: 8
    Dernier message: 21/05/2012, 11h23
  2. [Débutant] accéder aux éléments d'un tableau avec l'instruction fixed
    Par goutteg dans le forum C#
    Réponses: 1
    Dernier message: 15/05/2012, 08h38
  3. tableau avec jquery
    Par alen22 dans le forum jQuery
    Réponses: 8
    Dernier message: 04/04/2011, 04h02
  4. Réponses: 1
    Dernier message: 15/12/2006, 14h53

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