gpt4 book ai didi

javascript - 大卫·特恩 bool (David Turnbull) 将得分字段添加到添加球员表单时排序不正确

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

如果有人完成或正在关注 David Turnbull 的“创建您的第一个 Meteor 应用程序”,这是一个问题。

第 102 页上显示“在“添加玩家”表单中添加“分数”字段,允许用户在将玩家提交到列表时为其定义分数。”

我想出了如何做到这一点,在我的 Leaderboard.js 文件中使用它:

Template.addPlayerForm.events({
'submit form': function (event) {
event.preventDefault();
var playerNameVar = event.target.playerName.value;
var playerScoreVar = event.target.playerScore.value;
PlayersList.insert({
name: playerNameVar,
score: playerScoreVar
});
var playerNameVar = event.target.playerName.value = "";
var playerScoreVar = event.target.playerScore.value = "";
}
});

在我的排行榜.html 文件中:

<template name="addPlayerForm">
<form>
<input type="text" name="playerName">
<input type="number" name="playerScore">
<input type="submit" value="Add Player">
</form>
</template>

当创建新玩家时,无论得分如何,该玩家都会被置于列表顶部。使用此排序:

Template.leaderboard.helpers({
'player': function(){
return PlayersList.find({}, {sort: {score: -1, name: 1} });
// -1 sorts descending, while 1 will sort ascending
},
...
});

我的猜测是我可能没有正确定义分数。任何帮助都会很棒!

最佳答案

输入的,即使是type="number",仍然是一个字符串。

因此,如果作为字符串插入,它似乎具有最高值。

您应该从中解析一个 int 并验证它:

var playerScoreVar = parseInt(event.target.playerScore.value, 10);
// validation logic may go here or be placed in a method.
...

关于javascript - 大卫·特恩 bool (David Turnbull) 将得分字段添加到添加球员表单时排序不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33424493/

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