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 :

add_tab_content: ajax call [AJAX]


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut add_tab_content: ajax call
    Bonjour,

    J'utilise jQuery pour afficher et ajouter dynamiquement des contenus aux tabs via des call Ajax.

    Mais j'ai un problème que j'arrive pas à résoudre.
    Le bouton permettant d'ajouter une tab dynamiquement se trouve dans chacune des tabs (il récupère à chaque fois une var contenue dans la tab). Il fonctionne sur la première tab mais pas sur les autres...

    Voici mon code :

    htpl/php
    Code php : 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
     
    <div id="tabs">
      <ul>  
     
         <?php foreach ($myArticles as $key => $article):?>
         <li><a href="#tabArticle">Article 1 </a></li>
         <?php endforeach;?> 
     
      </ul>
     
       <?php foreach ($myArticles as $key => $article):?>
       <div id="tabArticle">
     
      //display infos article
     
      //button for adding a tab     
       <input type="button" id="add_tab" value="Dupliquer "  />      
       <input type="hidden" name="article" id="add_tab_ajax" value="<? php echo 'article/dupliquer'.
        '?id='.$article->getId().'&ref='.$article->getRef().'&count=' ?>" />     
     
      <?php endforeach;?>  
     
    </div>

    jQuery/ajax

    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
     
    $(document).ready(function()
    { 
     
      $( "#tabs" ).tabs(
        {
          tabTemplate: '<li><a href="#{href}">#{label}</a> ' +
                '<span class="closebutton ui-icon ui-icon-close">Remove Tab</span></li>',
          add: function( event, ui ) 
          {
            var content = getContent( counter );  
     
            $( ui.panel ).append( content );             
            $( "#tabs" ).tabs( "select",'#' + ui.panel.id);
          }
     
        });  
     
      function addTab() 
      {
       var title = "Article .." ;     
       $( "#tabs" ).tabs( "add", "#newArticle" + counter, title );
       counter++;  	
      }
      function getContent(num)
      {     
          var r = $.ajax({
          type: 'GET',
          url: $("#add_tab_ajax").val()+num,
          async: false
        }).responseText;
        return r;
      }
     
    var counter = $( "#tabs" ).tabs("length");
     
    $("#add_tab").click(function(){  
        addTab();   
        });
    });

  2. #2
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    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. #3
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut
    Merci pour ta réponse

    j'ai utilisé la méthode delegate():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $(document).delegate("add_tab", "click", function() {
    ..
    }
    au lieu de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $("#add_tab").click(function(){  
      ... 
        });
    là le clic sur le boutton marche et la request est envoyée. Mais, le problème c que $("#add_tab_ajax").val() qui est dans l'url de l'appel ajax, récupère toujours les mêmes variables utilisées dans le 1er tab. l'url ne change pas du tout

    comment on peut résoudre ça?

  4. #4
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    ben tu delegate quoi comme fonction ???
    la recuperation des données doit se faire relativement par rapport au bouton
    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 !

  5. #5
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut
    en fait ce que je veux, c'est à chaque clic sur le boutton, ça déclenche un addTab(), mais selon la div où se retrouve le boutton, il va récupérer une url différente.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $(document).delegate("add_tab", "click", function() {
    addTab();
    }
    je sais pas si c assez clair..

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/12/2013, 14h59
  2. [MySQL] PHP script et sql requête pour AJax call
    Par achraf.b.a dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 02/06/2012, 15h52
  3. [2.x] Call AJAX et Session expirée
    Par pc.bertineau dans le forum Symfony
    Réponses: 2
    Dernier message: 18/01/2012, 00h30
  4. [AJAX] Google Chrome et les Call Ajax
    Par Invité dans le forum AJAX
    Réponses: 2
    Dernier message: 12/12/2011, 12h44
  5. [MySQL] Post valeurs issues d'un call Ajax
    Par daninou dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 30/09/2009, 23h11

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