gpt4 book ai didi

javascript - 更改哪个元素递增 JavaScript

转载 作者:行者123 更新时间:2023-12-03 12:10:59 25 4
gpt4 key购买 nike

用 JavaScript 创建一个立即更新到 MongoDB 的排行榜。为了增加某人在排行榜上的积分,您可以单击相应的 <div>并且他们的分数增加了 5 个“分”。

这是通过使用此函数来完成的

Template.leaderboard.events({
'click div.inc': function () {
Players.update(Session.get("selected_player"), {$inc: {score: 5}});
}
});

我希望用户只更新一名玩家,但允许更改。例如,如果用户选择“John Smith”,“John Smith”应该只能增加 5 点。除此之外,如果用户决定将积分给予“Janie Smith”,“John Smith”应失去 5 分,而“Janie Smith”应获得积分。

最好的方法是什么?我可以通过找出前面的“selected_div”来做到这一点吗?

最佳答案

Template.leaderboard.events 替换为:

Template.player.events({
click: function() {
// only continue if this was not the last player clicked
if (!this.isLast) {

// find the last player clicked
var lastPlayerClicked = Players.findOne({isLast: true});

// remove the isLast marker from the previously clicked player and
// decrement her score
if (lastPlayerClicked) {
var modifier = {$inc: {score: -5}, $unset: {isLast: ''}}
Players.update(lastPlayerClicked._id, modifier);
}

// update this player with a new score and mark her as last
Players.update(this._id, {$inc: {score: 5}, $set: {isLast: true}});
}
}
});

它通过设置或删除isLast来跟踪最后点击的玩家,然后根据需要修改当前和最后一个玩家。在添加此内容之前,您可能需要通过运行 meteor Reset 来确保拥有一个干净的数据库。

关于javascript - 更改哪个元素递增 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24966557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com