首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ChatBox奇怪的消息追加

ChatBox奇怪的消息追加
EN

Stack Overflow用户
提问于 2013-03-24 18:16:37
回答 1查看 293关注 0票数 0

你好,这是我再次我有一个chatbox,是通过点击一个链接加载。顺便说一句,我使用的是jquery ui chatbox,最初的chat_div是隐藏的。

最初,它按照我希望的那样工作,但如果我单击另一个用户并单击聊天链接与该用户聊天,它显示的唯一正确的东西是chatbox的标题,但它附加的消息是来自前一个用户的消息。

下面是chatbox的click事件:

代码语言:javascript
复制
    <?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 }?>

我想知道奇怪的行为在哪里。我已经像几天前一样工作了,但仍然没有运气。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-05-24 07:20:10

我唯一看到的错误就是foreach行,试着修改一下:

代码语言:javascript
复制
<?php foreach($usersas $x) {?>

要这样做:

代码语言:javascript
复制
<?php foreach($users as $x) {?>

希望能对(=有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15597236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档