【问题标题】:Only 1 upvote/downvote button are working只有 1 个赞成/反对按钮有效
【发布时间】:2016-06-16 16:30:40
【问题描述】:

当我放 2 个赞成/反对按钮时,只有第一个按钮有效。检查this。有谁知道,怎么解决?

【问题讨论】:

  • 重复的id 是不行的。
  • 请下次将您的 HTML/JS/CSS 添加到 SO 问题中,因为外部链接可能会来来去去(将来可能无法使用)。
  • 您也只有一个storage,所以即使您修复了id 问题,仍然无法使用。

标签: javascript jquery html


【解决方案1】:

您给两个buttons 赋予了相同的id,而每个元素的id 必须是唯一的。

您可以使用class 绑定click 事件并找到相应的span 并计算该span 中的票数并显示票数。

你也只有一个计数器。我不确定,但我认为如果有两个单独的按钮,也应该有两个计数器。

$(".buttonup").click(function() {
  var vote = checkIfUserVoted() != votePlus ? votePlus : counter;
  localStorage.setItem("voted", vote);
  $(this).next().text(vote);
});

这是投票按钮代码

$(".buttondw").on('click', function () {
  var vote = checkIfUserVoted() != voteMinus ? voteMinus : counter;
  localStorage.setItem("voted", vote);
  $(this).prev().text(vote);
});

【讨论】:

  • 那么我应该为每个按钮创建一个唯一的 ID 吗?并为每个按钮添加另一个 javascript?这就是你的意思吗?对不起,我是新手 javascripter。
  • @tehkc 您可以为每个按钮分配唯一的 id,也可以使用我提供的代码。
  • 你可以用$("#plus").click(function() {的点击事件替换它
  • 哦,谢谢 mairaj..现在点赞按钮已修复。但否决票不是。看到这个链接fiddle.jshell.net/g6Lhurae/18
  • 工作了,但他们还有一个问题。我们需要点击 upvote 按钮 2 次,才能投票。看到这个fiddle.jshell.net/g6Lhurae/19
【解决方案2】:

Here 是一个工作版本。您必须为这两个部分使用不同的 id 和处理程序...

【讨论】:

  • 我的网站将有 1000 的投票按钮。这将使脚本变长:(还有其他解决方案吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-19
  • 2023-01-12
  • 2021-09-18
  • 1970-01-01
  • 2022-06-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多