У меня есть следующая проблема: мне нужно иметь несколько частных чатов для каждого пользователя. Мне удалось заставить его работать, но если в тот же момент происходит более одного частного чата, добавленный контент этих чатов транслируется во все частные чаты.
function RefreshPrivate(userid)
{
var string_url = "./functions/ShowMessagePrivate.php?id=" + userid;
var page_url = "private.php?id=" + userid ;
$("#chatPrivateBody").append($("<div>").load(string_url));
}
Проблема возникает из-за $("#chatPrivateBody")
, каждый private.php имеет этот <div>
, я думал, что если я могу добавить string_url в page_url конкретный <div>
например $(page_url,"#chatPrivateBody")
но в документации по jQuery нет ничего для этого.
Вы указываете "каждый private.php". Поэтому я предполагаю, что вы одновременно загружаете несколько экземпляров этой страницы на одну страницу, что означает, что каждый из них загружается в какой-либо контейнер через AJAX или каждый из них находится в iframe. Вы не указали, что вы делаете с page_url
.
Я предполагаю, что вы загружаете страницы через AJAX. В этом случае каждый частный чат загружается в отдельный контейнер (возможно, <div>
).
И каждый контейнер, вероятно, будет иметь уникальный идентификатор (вероятно, что-то вроде chatroom-<userid>
).
Если это так, вы можете настроить таргетинг на #chatPrivateBody
в определенном чате, который вы ищете:
$('#chatroom-'+ userid)
.find('#chatPrivateBody')
.append($("<div>").load(string_url));