【发布时间】:2015-06-30 03:20:42
【问题描述】:
我正在尝试为 SO 或 reddit 等问题/答案实施投票系统。 到目前为止,我已经嘲笑了一些问题和答案。其中有一个带有箭头的脚本用于upvote / downvote,它改变了箭头的颜色并增加了箭头旁边的数字以指示投票数。
但现在我被困住了。
模拟的答案/问题需要由 Scala 模板生成,而不是由我手动输入。我不知道如何做到这一点。
这是为箭头着色并计算投票的脚本: (不得不提一下,到目前为止只有第一个箭头起作用。这可能是因为ID应该是唯一的,所以第二个箭头会被忽略?)
<script>
$(document).ready(function() {
$('#icon').click(function() {
var $this = $(this);
$this.css("color","orange");
var num = $('#num');
var currentNumber = num.text().length ? parseInt(num.text()) : 0;
num.text(currentNumber + 1);
});
});
</script>
这是一些带有箭头的答案列表条目和我也手动输入的投票编号的示例:
<li class="list-group-item" > <span id="icon" class="glyphicon glyphicon-arrow-up" aria-hidden="true"></span><span id="num"></span> 7 <span class="glyphicon glyphicon-arrow-down" aria-hidden="true"></span> Die Schleife springt durch <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span> <span class="glyphicon glyphicon-remove" aria-hidden="true"></span></li>
<li class="list-group-item" > <span id="icon" class="glyphicon glyphicon-arrow-up" aria-hidden="true"></span><span id="num"></span> 1 <span class="glyphicon glyphicon-arrow-down" aria-hidden="true"></span> Das Programm hängt sich auf <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span> <span class="glyphicon glyphicon-remove" aria-hidden="true"></span></li>
这是它目前的样子。
我该如何从这里开始?我对 play 框架很新,它是 scala 模板,所以也许我可以让框架生成一个通用的箭头/投票组合,我可以稍后处理,而不是手动放入这些行? 我是否必须以某种方式将选票保存在真实数据库中? 如何进一步处理投票,即如何将它们放入变量中?
StackOverflow 上还有几个问题和我的差不多,但是几乎没有一个是使用 play 框架的。
[编辑]:这是JSfiddle,只需点击最左边的箭头。
【问题讨论】:
-
需要由 Scala 模板生成是什么意思?您想在您的视图中生成问题吗?您想从数据库中检索它们并在视图中以通用方式显示它们吗?
-
英语不是我的母语,所以我不知道如何说得更好:我已将 html 硬编码到文件中以显示一些问题/答案对。但是当我计划稍后使用数据库时,我希望能够通过 scala 模板本身获得问题和答案。现在我已经开始研究它并完成了一个数据库,我可以在其中存储和检索 q/as 并在我的视图中显示它们。由于我还没有完全完成,我还没有回答我自己的问题。
-
好的,基本思想是:在您的控制器中,您可以从数据库中检索问题/答案,然后将它们作为参数提供给您的视图。在视图中,您可以迭代项目 - 使用
for甚至使用map -
我提供了更多解释的答案
标签: java javascript html scala playframework