2009-10-17 12 views
0
$(document).ready(function(){ 
var refreshId = setInterval(function() { 
    periodicRefresh(); 
}, 9000); 
}) 

.Ajout dynamique d'une ligne à une table

function periodicRefresh() 
{ 
    $.ajax({ 
     type: 'GET', 
     url: 'include/ajaxActions.php', 
     data: "action=displayLastEvent", 

     success: function(msg){ 
      var newid = $(msg).attr("id"); 
        current = $("#list tr:first").get(0).id; 
        if(newid != currentfirstrow){ 
         $("#list").prepend(msg); 
       lastrow = current-19; 
       $('#'+lastrow).remove(); 
        } 
     } 
    }); 
} 

Voici un exemple de ce que la ligne de table ressemble à:

<tr id="5094" style="background:White;"> 
    <td class="tdstd"> 
    </td> 
</tr> 

Répondre

3

C'est un peu difficile de répondre, sans savoir comment le XML Cela est renvoyé par "ajaxActions.php" et votre appel AJAX est formaté. Aussi, je suppose que "currentfirstrow" est une variable javascript globale accessible dans n'importe quelle fonction?

function periodicRefresh() 
{ 
    $.ajax({ 
     type: 'GET', 
     url: 'include/ajaxActions.php', 
     data: "action=displayLastEvent", 

     success: function(xml){ 
      var newfirstrow = $(xml).find("name_of_xml_node_that_contains_newly_returned_id").text(); 
      if(newfirstrow != currentfirstrow){ 
       //do add new row() 
      } 
     }, 
} 
+0

la sortie de ajaxActions.php est seulement: Roch

+0

mais Je peux aussi le formater en XML – Roch

+0

Ah d'accord, donc vous produisez simplement du HTML essentiellement. Bon à savoir, laissez-moi y réfléchir un peu. – WesleyJohnson

1

Au début ids ne sont pas autorisés à être des nombres. Ils devraient commencer par une lettre, suivie d'un numéro. Vous devez donc suivre une convention de dénomination différente pour vos identifiants.

Je ne sais pas si c'est ce que vous demandez, mais vous pouvez obtenir l'ID de la première rangée avec quelque chose comme ceci:

$("table tr:first").get(0).id 
Questions connexes