Javascript 如何更改<;之间的值;span>;标签</span>;使用jQuery?
我正在开发一个小型ASP.NET MVC应用程序,该应用程序正在为登录用户实现收件箱,如果用户有两条未读消息,则会有一个带有字母和数字的图标,显示有多少消息被标记为未读 这就是它的样子: 下面是代码,使其看起来像上面的图像:Javascript 如何更改<;之间的值;span>;标签</span>;使用jQuery?,javascript,jquery,asp.net-mvc,views,Javascript,Jquery,Asp.net Mvc,Views,我正在开发一个小型ASP.NET MVC应用程序,该应用程序正在为登录用户实现收件箱,如果用户有两条未读消息,则会有一个带有字母和数字的图标,显示有多少消息被标记为未读 这就是它的样子: 下面是代码,使其看起来像上面的图像: <i class="fa fa-envelope-o"></i> @if (LoggedInUser != null) { int unReadMessages = Controller.GetNumberOfUn
<i class="fa fa-envelope-o"></i>
@if (LoggedInUser != null)
{
int unReadMessages = Controller.GetNumberOfUnreadMessages(LoggedInUser.LoggedInUserID);
if (unReadMessages > 0)
{
<span class="badge bg-green">@unReadMessages</span>
}
else
{
<span class="badge bg-green">@unReadMessages</span>
}
}
如果是,则从数据库获取messagess(有一个count查询,它计算标记为未读的消息的数量,因为这里我只需要一个数字,以便在用户登录时在那个里显示它)
在另一个视图中,我有一个未读邮件列表,当我点击其中任何一条时,我想将这个数字减少一(类似于未读邮件--;
)
这是我的javascript方法,单击未读消息并将其状态更改为“已读”:
在那之后,我添加了这行代码,希望它能减少我在那个字母上的数字,但不幸的是我失败了,我在控制台中看到我的UnderMessageCounter值为NaN
var unReadMessageCounter=parseInt($('inboxMessages');
--未读消息计数器
所以,伙计们,我想知道如何从我的信件中得到这个数字(在我的例子中,它是:
之间的2个值),在这个javascript方法中,@unreadMessages,所以在一个步骤中,我可以在数据库中更新它,将其标记为read,并且我可以减少信件上显示的这个数字?因此,当用户调用SelectMessagejavascript方法时,我可以得到这个显示我的数字的整数变量,我可以对它进行求值
谢谢各位
干杯我看不出基于是否有未读邮件生成的html有任何区别,但我的建议如下: 为跨度指定唯一的ID或类值,以便轻松选择。大概是这样的:
<span id="unreadMessageBadge" class="badge bg-green">...</span>
var msgCount = $("#unreadMessageBadge").text();
if (msgCount !== "") {
msgCount = parseInt(msgCount) - 1;
}
if (msgCount > 0) {
$("#unreadMessageBadge").text(msgCount);
} else {
$("#unreadMessageBadge").hide();
}
<script type="text/javascript">
function onSelectMessage(el) {
$.ajax({
method: "GET",
url: "Message/MarkMessageAsRead",
data: { messageID: el.id }
})
.done(function (response) {
$('#email-subject').text(response.subject);
$('#email-body').text(response.body);
$('#email-date').text(response.created);
$('#email-sender').text(response.sender);
var unread = el.getAttribute('data-unread');
UpdateMessageStatus(el.id, unread);
});
}
<span class="badge bg-green" id="inboxMessages">@unreadMessages</span>
<span id="unreadMessageBadge" class="badge bg-green">...</span>
var msgCount = $("#unreadMessageBadge").text();
if (msgCount !== "") {
msgCount = parseInt(msgCount) - 1;
}
if (msgCount > 0) {
$("#unreadMessageBadge").text(msgCount);
} else {
$("#unreadMessageBadge").hide();
}