Я пытаюсь создать программу, когда пользователь щелкнет имя из списка своих друзей, появится окно чата, и я хочу, чтобы в моем окне чата было столько же, сколько пользователя, которого он нажал. однако моя проблема в том, что я могу сделать только один чат, как я смогу сделать несколько чатов и иметь уникальный идентификатор?дублирование чата с помощью jquery и ajax
вот мой HTML и PHP:
чат списки:
<id = "chat_lists">
//my friend names goes here.
//you can ignore this codes, but i'll put this for
those people who want to see what's happening.
//selects all the friends of this user
if($run_query = mysqli_query($con,$query_select))
{
while($row = mysqli_fetch_assoc($run_query))
{
$chat_name = $row['full_name'];
$seen = $row['seen'];
$user_id = $row['users_id'];
if($seen == 'online')
{
$color = "green";
}
else
{
$color = "gray";
}
if($user_id !=$get_user)
{
echo "<div id = $user_id class = 'chat_div'><a class = 'chat_name'>".$chat_name."</a>"."<a class = 'seen' style = 'color:$color'>".$seen."</a></div>".'<br/>';
}
}
}
</div>
окне чата:
<div id = "chat_box">
<div id = "header"><a id = "close"><i class="fa fa-close"></i></a></div>
<div id = "message_area">
<ul id = "updated_text">
</ul>
</div>
<div id = "bottom">
<textarea id="textArea" name = "message" placeholder="Send a message.."></textarea>
<input type = "submit" value = "SEND" id = "send_button">
</div>
</div>
JQuery и Ajax:
$('.chat_div').click(function(){
var id = $(this).attr('id'); // gets the id of the selected user
$('#chat_box').show(); // shows the chat box
$('#updated_text').text(''); //clears the data
$.ajax({
url: 'plugins/get_chatmate_id.php',
data: {id:id},
success: function(data)
{
var d = $('#message_area');
d.scrollTop(d.prop("scrollHeight")); // scrolls down the div
}
});
});
вам нужно использовать уникальные идентификаторы для всех флажков. например: chat_box_ [id пользователя здесь], а затем '$ ('# chat_box_' + id) .show();'. В этом случае вам нужно создать окна чата на лету в вашей функции chat_div.click. – vaso123
вам вообще не нужно использовать ID. Существует множество способов использования общих классов с траверсами и/или индексацией и/или хранения ссылок на объекты, чтобы делать то, что необходимо – charlietfl
, но я буду использовать ajax для этого чата и выберите весь разговор между этими двумя пользователями, как я буду идентифицировать о котором я говорю? –