你好,这是我再次我有一个chatbox,是通过点击一个链接加载。顺便说一句,我使用的是jquery ui chatbox,最初的chat_div是隐藏的。
最初,它按照我希望的那样工作,但如果我单击另一个用户并单击聊天链接与该用户聊天,它显示的唯一正确的东西是chatbox的标题,但它附加的消息是来自前一个用户的消息。
下面是chatbox的click事件:
<?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 }?>我想知道奇怪的行为在哪里。我已经像几天前一样工作了,但仍然没有运气。
谢谢
发布于 2013-05-24 07:20:10
我唯一看到的错误就是foreach行,试着修改一下:
<?php foreach($usersas $x) {?>要这样做:
<?php foreach($users as $x) {?>希望能对(=有所帮助
https://stackoverflow.com/questions/15597236
复制相似问题