2009-12-17 4 views
0

J'ai 2 fonctions
1- addMessage(): enregistre les données dans la base de données et est appelée uniquement lors du clic.
2- updateMessage(): obtenir des données avec ajax à partir de la base de données, appelé lorsque le document est prêt, appelé toutes les 3 secondes pour les nouvelles données, et appelé succès addMessage().Ajout de données différentes à différents onglets jquery

function updateMessage() 
{ 
    $.ajax({ 
    url:"db.php", 
    type:"post", 
    dataType:"text/xml", 
    success:function(data) 
    { 
     $(data).find("message").each(function() { 
      var msg_id = $(this).find("msg_id").text(); 
      var date_time = $(this).find("date_time").text(); 
      var from_user = $(this).find("from_user").text(); 
      var from_group = $(this).find("from_group").text(); 
      var to_user = $(this).find("to_user").text(); 
      var to_group = $(this).find("to_group").text(); 
      var msg_type = $(this).find("msg_type").text(); 
      var msg = $(this).find("msg").text(); 
      var grp_abr = $(this).find("grp_abr").text(); 

      var html = "<tr class='blue'>"; 
      html += "<td><a href='#' class='bullet' onclick='changeStatus(\""+msg_id+"\")'><\/a><\/td>"; 
      html += "<td><a href='#' class='reply' onclick='reply(\""+from_user+"\");'><\/a><\/td>"; 
      html += "<td>"+date_time+"<\/td>"; 
      html += "<td>"+from_user+"["+from_group+"]"+"<\/td>"; 
      html += "<td>"+to_user+"["+to_group+"]"+"<\/td>"; 
      html += "<td><a href='#' class="+msg_type+"><\/a><\/td>"; 
      html += "<td><a href='#' class='flag_msg' onclick='flagMsg("+msg_id+")'><\/a><\/td>"; 
      html += "<td>"+msg_id+msg+"<\/td>"; 
      html += "<td>"+grp_abr+"<\/td><\/tr>"; 
      }); 
     } 
    }); 
    setTimeout('updateMessage()',3000); 
} 

Maintenant, les données récupérées je veux ajouter à différents onglets avec des noms différents et des conteneurs différents, comment pourrais-je faire cela. Ma question n'est pas une question de code, mais plutôt une question de logique ou d'enchaînement d'étapes. Toute aide s'il vous plaît.

Répondre

0

Je ne suis pas sûr de comprendre ce que vous voulez vraiment. En supposant que vous demandez comment vous pouvez ajouter des onglets dynamiquement

Regardez dans la méthode jQuery Tabs add() et peut-être les options tabTemplate et panelTemplate. A la fin de la fonction success, lorsque vous avez construit le nouveau contenu de l'onglet, ajoutez-le dans le DOM (par exemple, une table cachée qui contient tous les onglets) et utilisez la méthode add.

Si vous avez plusieurs conteneurs de tabulation, appelez simplement la méthode add sur celle que vous voulez.

+0

Les onglets sont déjà ajoutés, je veux juste quand on clique sur un onglet récupérer les données le concernant.N'avez pas où exactement ajouter cette fonctionnalité dans la fonction précédente. – Sarah

Questions connexes