在不刷新的情况下更新标签内的变量
updating variable inside label without refresh
简单地说,我想在菜单内的标签中显示未读消息的数量,如下所示:
<li><a id="2" style="background-image:url('menu icons/comments.png'); background-repeat: no-repeat; background-position: left; background-position-x: 5px;"
href= "viewMessages.php">Messages<label id="num_msg">(<?php echo $count; ?>)</a></li>
我得到$count
的地方是:
$num_messages = mysql_query("SELECT COUNT(m.message_id) as cnt FROM messages m INNER JOIN member_message_member mmm ON (m.message_id = mmm.message_id)
WHERE mmm.member_id2 = $id AND m.seen = 0") or die(mysql_error());
$Mcount = mysql_fetch_assoc($num_messages);
$count = $Mcount['cnt'];
然后当用户单击消息时:
$("#sub a").click(function(){
mesg_id = $(this).attr('msg_id');
page = $(this).attr('href')
id = $(this).attr('mID');
$.ajax ({
data: {message_id:mesg_id},
type: 'POST',
url: 'Seen_messages.php',
success: function(response) {
if (response == 1) {
} else {
alert(response);
}
}
});
});
Seen_messages.php:
@mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("mydb") or die(mysql_error());
$message_id = $_POST['message_id'];
mysql_query("UPDATE `messages` SET `messages`.`seen` = TRUE WHERE message_id={$message_id}") or die (mysql_error());
echo "1";
一切正常,除了我必须刷新页面才能更新$count
,那么无论如何都可以在不手动刷新的情况下更新标签内的变量吗?
使用更新的未读计数进行Seen_messages.php
响应,而不是始终1
,然后使用该响应更新用户界面:
// ...
success: function(response) {
if (isNaN(response)) {
alert('Error!');
} else {
$('#num_msg').text(response);
}
}
如何编写一个函数以与setInterval()
一起使用,以不断检查服务器是否有新消息,并使用jQuery更新<label>
计数。(顺便说一句,您的标签缺少结束标签!
function get_msg_count(){
$.ajax ({
data: {}, // not really needed
type: 'POST',
url: 'get_msg_count.php', // page to return your msg count
success: function(response) {
// update the label with the count
// response would be the number returned from PHP
$('#num_msg').html(response);
}
}); // End $.ajax
} // End Function
// and on DOM ready
$(function(){
// check for new messages every 3 seconds(3000ms)
setInterval(get_msg_count(), 3000)
});
然后,服务器端脚本将返回消息计数,您只需更新保存该计数的标签。
相关文章:
- 仅当变量有值时才显示D3文本标签
- 在Flickr API的标签参数中传递一个变量
- JavaScript:如何用变量填充单选按钮值和标签
- 变量中的值未在标签标记中更新
- 如何从包含HTML代码和许多UL标签及其ID的JavaScript变量A中获取
- ID
- 如何在标题标签上显示 JS 变量
- 如何在HTML标签中获取javascript变量文本值
- 我使用谷歌标签管理器在我的网站上启动标签.变量“;未定义的“;在任何版本的Internet Explorer的自定义代码
- 如何在不输出结束PHP标签“?>”的情况下将PHP MySQL查询回显到Javascript变量中
- 在不刷新的情况下更新标签内的变量
- 如何在变量中收集HTML页面的所有脚本标签
- 联系人表单变量不会从部分标签传递到 javascript 中
- 如何在使用谷歌浏览器开发者控制台时使变量在标签页中可见
- 如何在 PHP 标签中访问 java 脚本变量
- 将WordPress标签存储在JS文件中的变量中
- 通过输入标签的 html 值字段将 javascript 变量传递到另一个页面
- 我可以在 html 输入标签元素中获取变量 ID 吗?
- 使用 PHP 变量初始化选择标签
- jQuery动画垂直滚动到一个元素和水平滚动到不同的元素在同一时间从单个哈希标签/变量
- 用标签/变量构建文本区