我在每个帖子上都有一个按钮
1)点赞按钮
如果用户已经喜欢了该帖子,则显示“与众不同”按钮
如果用户不喜欢该帖子,则为HTML部分
<a href="javascript:void(0);" id="liker" data-count="0" data-fpc="481" data-id="cDJod1RnUU45eXBQWmp">Like</a>
如果用户已经喜欢了该帖子
<a href="javascript:void(0);" id="unliker" data-count="1" data-fpc="481" data-id="cDJod1RnUU45eXBQWmp">Unlike</a>
这是jquery部分,此部分发送类似请求
$(function() {
$("body").on("click", "#liker", function() {
var t = $(this).data("id"),
a = $(this).data("count"),
f = $(this).data("fpc");
a++;
$("#cyli" + f).text(a);
$(this).attr('id', 'unliker');
$(this).data('count', a);
$(this).text('Unlike');
i = this, $.ajax({
type: "POST",
url: "/ajax/liker?io=" + t,
data: "id=" + t,
success: function(t) {}
})
});
});
下面部分发送不同的请求
$(function() {
$("body").on("click", "#unliker", function() {
var t = $(this).data("id"),
a = $(this).data("count"),
f = $(this).data("fpc");
a -= 1;
$("#cyli" + f).text(a);
$(this).attr("id", "liker");
$(this).data('count', a);
$(this).text("Like");
i = this, $.ajax({
type: "POST",
url: "/ajax/unliker?io=" + t,
data: "id=" + t,
success: function(t) {}
})
});
});
相似的值显示在此标签<i class="fa fa-thumbs-up" id="cyli481" aria-hidden="true"> 0</i>
中
现在的问题是,当我单击“喜欢”或“不同”时,该值未正确添加或扣除。
例如,如果data-count =“ 0”表示此帖子没有类似内容,但是当我单击它时,它会自动变为2,然后如果我单击不相同的按钮,它就会变成-1,那么上述方法可能是错误的
参考方案
如果您只是将$(this).data("count")
和$(this).data("count", a)
更改为$(this).attr("data-count")
和$(this).attr("data-count", a)
,则它会起作用。
试试这个代码:
$(function() {
$("body").on("click", "#liker", function() {
var t = $(this).data("id"),
a = $(this).attr("data-count"),
f = $(this).data("fpc");
a++;
$("#cyli" + f).text(a);
$(this).attr('id', 'unliker');
$(this).attr('data-count', a);
$(this).text('Unlike');
i = this, $.ajax({
type: "POST",
url: "/ajax/liker?io=" + t,
data: "id=" + t,
success: function(t) {}
})
});
});
$(function() {
$("body").on("click", "#unliker", function() {
var t = $(this).data("id"),
a = $(this).attr("data-count"),
f = $(this).data("fpc");
a -= 1;
$("#cyli" + f).text(a);
$(this).attr("id", "liker");
$(this).attr('data-count', a);
$(this).text("Like");
i = this, $.ajax({
type: "POST",
url: "/ajax/unliker?io=" + t,
data: "id=" + t,
success: function(t) {}
})
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a href="javascript:void(0);" id="liker" data-count="0" data-fpc="481" data-id="cDJod1RnUU45eXBQWmp">Like</a>
<i class="fa fa-thumbs-up" id="cyli481" aria-hidden="true"> 0</i>
javascript popupwindow之后的行如何工作? - javascript好的,我有一个来自后面代码的方法,可以创建一个popupwindow。然后有一行代码要在那之后执行,我想知道那行代码何时执行,是在使用popupwindow之后执行还是在创建popupwindow之后执行?例如:void exPopupWindowMethod() { string scr = "window.open('exampleP…
Javascript-Urls的奇怪字符串比较行为 - javascript最近,在编写我无法理解的javascript时遇到了字符串比较的问题。我从完全相同的网址创建了两个字符串,当我比较它们时返回false,但是在重新分配相同的字符串后,比较返回true。这是我的示例:var str1 = "http://google.com/"; var str2 = "http://google.com/…
Javascript-从当前网址中删除查询字符串 - javascript单击提交按钮后,我需要从网址中删除查询字符串值。我可以用jQuery做到这一点吗?当前网址:siteUrl/page.php?key=value 页面提交后:siteUrl/page.php 实际上,我已经从另一个带有查询字符串的页面着陆到当前页面。我需要在页面首次加载时查询字符串值以预填充一些详细信息。但是,一旦我提交了表格,我就需要删除查询字符串值。我已…
Mongo汇总 - javascript我的收藏中有以下文件{ "_id": ObjectId("54490b8104f7142f22ecc97f"), "title": "Sample1", "slug": "samplenews", "cat": …
从控制器以视图(javascript)访问会话 - javascript这是我的控制器代码。我想获取视图中存储在会话中的值(JavaScript代码) decimal.TryParse(permotion.PROMOTION_AMOUNT.ToString(), out promotionAmount); int.TryParse(permotion.PROMOTION_TYPE_ID.ToString(CultureInfo.…