我一直在一个流星web应用程序上工作。我插入了一个文档到MongoDB。
questionsList.insert({ask: "When was the War of 1812", answer: "1812", possAnsw: ["1811", "1812", "1819", "1820", "1840"]})
我希望有一个功能匹配,当一个人从可能的答案中选择正确的答案。问题是我很难访问一个值并将其与特定的<li>
标记匹配。
伪代码:
if (li.currentTarget == questionList.find({answer: 1}).fetch() {
$(li.currentTarget).css("background-color", "yellow");
}
基本上,只有当我点击正确的答案时,它才会高亮显示:
Template.questions.events({
'click .answers':function(li) {
$(li.currentTarget).css('background-color', "yellow").css("width", "fit-content");
}
});
现在,它突出显示每个<li>
元素,无论它是否匹配正确答案(即:"问")。问题是我似乎找不到如何获得"ask"键的值并将其与li. currentttarget匹配。
我看了以下几篇文章,但都无济于事:
从mongoDB数组中获取特定元素
只检索MongoDB集合中对象数组中查询的元素
如果我得到你的问题正确,基本上当用户点击问题的答案,服务器将检查它是否是正确的答案。所以,我认为你应该问的是问题而不是答案
var currentQuestionObject = questionList.find({ask: "When was the war of 1812?"}).fetch()
if (li.currentTarget == currentQuestionObject.answer) {
$(li.currentTarget).css("background-color", "yellow");
}