2013-07-23 51 views
0

我有一個HTML標記週期性請求(在線用戶列表)Mootools的列表過濾:與服務器

<div id="users"> 
    <div class="users_row" title="User1">User1</div> 
    <div class="users_row" title="User2">User2</div> 
    <div class="users_row" title="User3">User3</div> 
    <div class="users_row" title="User4">User4</div> 
</div> 

我的mootools JS以下功能(周期函數每5秒):

 get_users: function() {     

       new Request.JSON({ 
        initialDelay: 1, 
        delay: 10000, 
        limit: 25000, 
        method: 'post', 
        url: 'handler.php', 

         onSuccess: function(data){ 
          if (data.users.length) { 
           data.users.each(function(u){ 
/*Wrong...*/          
new Element('div', {'html':u.name, 'class': 'user_row', 'title': u.name}).inject(document.id('users')); 

           });  
          }  
         } 
       }); 
     } 

例如,我從我的handler.php中獲取User1,User2,User3,User5。 如何重建我的在線用戶列表?

<div id="users"> 
     <div class="users_row" title="User1">User1</div> 
     <div class="users_row" title="User2">User2</div> 
     <div class="users_row" title="User3">User3</div> 
     <!--<div class="users_row" title="User4">User4</div>!--> // Remove User4 
     <div class="users_row" title="User5">User5</div> // Add User5 
</div> 

P.S:這個答案是不能接受的:)

document.id('users').set('html', '<div class="users_row" title="'+u.name+'">'+u.name+'</div>); 

感謝。

P.S:從服務器我的JSON示例:

{"users":[{"name":"User1"},{"name":"User2"},{"name":"User3"},{"name":"User5"}],"total":4} 
+0

確實請求後,總用戶數量的變化?或者你只是替換你已有的標記的標題和HTML? – Sergio

+0

是的。它可能會改變。例如房間裏的新成員。或有人離開房間。謝謝。 – user889349

+0

你可以發佈你的JSON /請求數據的樣本嗎? – Rikard

回答

0

試試這個:
檢查演示here

for (i = 0; i < users.users.length; i++) { 
     var el = new Element('div', { 
      'class': 'users_row', 
      'html': users.users[i].name 
     }); 
     el.inject(usersDivId); 
    }