2013-03-24 61 views
0

你好,我再次我有一個聊天框,通過點擊鏈接加載。順便說一句我正在使用jquery ui chatbox最初chat_div被隱藏。ChatBox奇怪的追加消息

最初它按照我想要的方式工作,但是如果我點擊另一個用戶並點擊聊天鏈接與用戶聊天,它顯示的唯一正確的東西是聊天框的標題,但它附加的消息是那些來自之前的用戶。

下面是對客艙的單擊事件:

<?php global $despId; ?> 
    <?php foreach($usersas $x) {?> 

    <?php $despId = $x->user_id?> 
    <a href="#" class="chatOpener" id="<?php echo $despId?>">Chat with user</a> 
    <?php } ?>  
    <?php echo br(2)?> 

<div id="chat_div"></div> 

    <script> 
    jQuery(function($){ 
    $('#chat_div').hide(); 
    $(".chatOpener").live('click', function(event, ui){ 
          var despID = $(this).attr('id'); 
          box = null; 
          $('#chat_div').show(); 
          //alert('1'); 

         setInterval (load_messages, 2500); 
          if(box){ 
           box.chatbox("option", "boxManager").toggleBox(); 
          } 
          else { 
           box = $("#chat_div").chatbox({id: username, 
                  user:{key : username}, 
                  title : "<?php echo $x->firstName.' '.$x->lastName?>", 
                  messageSent : function(id, user, msg) { 

                   $.post('<?php echo site_url('/chats/addMessage')?>', { 
                      'username': '0', 
                      'sendto' : '<?php echo $despId?>', 
                      'message' : msg}); 

                   //$("#log").append(id + " said: " + msg + "<br/>"); 
                   $("#chat_div").chatbox("option", "boxManager").addMsg(id, msg); 
                  }}); 
                  return false; 
          } 
          return false; 
         }); 


         function load_messages(){ 
          $('#chat_div').load('<?php echo site_url('/chats/index/'.$despId);?>'); 
         } 
       }); 
<?php }?> 

我不知道是怪異的行爲所在。我已經像幾天前一樣工作過,現在仍然沒有運氣。

感謝

回答

0

唯一的錯誤我看到的是在foreach線,嘗試改變這一點:

<?php foreach($usersas $x) {?> 

要這樣:

<?php foreach($users as $x) {?> 

希望它可以幫助(=