问题
我不确定是否应该对变量使用数据库。但是,我知道还有一种更简单的方法可以节省投票数。
您如何解决这些问题?
[编辑]
服务器端编程语言是Python。
这是使用jQuery / Django的肮脏/未经尝试的理论实现。
我们将假设上下投票是针对本网站上的问题/答案,但是显然可以根据您的实际用例进行调整。
<div id="answer_595" class="answer">
<img src="vote_up.png" class="vote up">
<div class="score">0</div>
<img src="vote_down.png" class="vote down">
Blah blah blah this is my answer.
</div>
<div id="answer_596" class="answer">
<img src="vote_up.png" class="vote up">
<div class="score">0</div>
<img src="vote_down.png" class="vote down">
Blah blah blah this is my other answer.
</div>
$(function() {
$('div.answer img.vote').click(function() {
var id = $(this).parents('div.answer').attr('id').split('_')[1];
var vote_type = $(this).hasClass('up') ? 'up' : 'down';
if($(this).hasClass('selected')) {
$.post('/vote/', {id: id, type: vote_type}, function(json) {
if(json.success == 'success') {
$('#answer_' + id)
.find('img.' + vote_type);
.attr('src', 'vote_' + vote_type + '_selected.png')
.addClass('selected');
$('div.score', '#answer_' + id).html(json.score);
}
});
} else {
$.post('/remove_vote/', {id: id, type: vote_type}, function(json) {
if(json.success == 'success') {
$('#answer_' + id)
.find('img.' + vote_type);
.attr('src', 'vote_' + vote_type + '.png')
.removeClass('selected');
$('div.score', '#answer_' + id).html(json.score);
}
});
}
});
});
def vote(request):
if request.method == 'POST':
try:
answer = Answer.objects.get(pk=request.POST['id'])
except Answer.DoesNotExist:
return HttpResponse("{'success': 'false'}")
try:
vote = Vote.objects.get(answer=answer, user=request.user)
except Vote.DoesNotExist:
pass
else:
return HttpResponse("{'success': 'false'}")
if request.POST['type'] == 'up':
answer.score = answer.score + 1
else:
answer.score = answer.score - 1
answer.save()
Vote.objects.create(answer=answer,
user=request.user,
type=request.POST['type'])
return HttpResponse("{'success':'true', 'score':" + answer.score + "}")
else:
raise Http404('What are you doing here?')
def remove_vote(request):
if request.method == 'POST':
try:
answer = Answer.objects.get(pk=request.POST['id'])
except Answer.DoesNotExist:
return HttpResponse("{'success': 'false'}")
try:
vote = Vote.objects.get(answer=answer, user=request.user)
except Vote.DoesNotExist:
return HttpResponse("{'success': 'false'}")
else:
vote.delete()
if request.POST['type'] == 'up':
answer.score = answer.score - 1
else:
answer.score = answer.score + 1
answer.save()
return HttpResponse("{'success':'true', 'score':" + answer.score + "}")
else:
raise Http404('What are you doing here?')
kes 当我开始回答这个问题时,我并不想写那么多,但是我被带走了。首次加载页面时,您仍然缺少最初获得所有投票的初始请求,但我将其留给读者练习。总之,如果你
是
在使用Django事实,有兴趣的投票#1的测试更加/实FPGA实现,我建议你检查出的源代码为cnprog.com,用Python编写/
Django的#1的中国克隆。他们发布了代码,这相当不错。
问题内容: 问题 如何制作一个Ajax按钮(向上和向下箭头),以便数字可以增加或减少 如何将用户的操作保存到变量NumberOfVotesOfQuestionID 我不确定是否应该对变量使用数据库。但是,我知道还有一种更简单的方法可以节省投票数。 您如何解决这些问题? [编辑] 服务器端编程语言是Python。 问题答案: 这是使用jQuery / Django的肮脏/未经尝试的理论实现。 我们将
我想找到一种方法,使悬停属性在投票后保持活动状态,这是状态,并让Javascript或Firebase记住为该用户保持投票图标处于该状态。所以当一个用户投了几个名字,然后再回到页面时,他们会看到他们投了哪些名字,他们投的是什么。 我正在寻找如何实现这一目标的想法。 目前,在firebase中,我将用户的身份验证ID(uid)保存在他们投票的每个人的名字中,或者是1或者是-1表示支持或支持。我确信可
我的游戏是一个平台游戏。我希望播放器在距离中心X像素时移动,向左或向右移动。 我知道pyplay没有任何东西可以让相机移动。 当玩家到达离中心X像素的点时,停止玩家的移动,让地形向相反的方向移动,以显示可移动地形的幻觉,就像相机运动一样。
我在JavaFX中创建了一个应用程序,其中有很多选择框(大约100个)。单击它们中的每一个会更改一个布尔变量的状态(选中-真,未选中-假)。我对每个选择框都有ActionEvent,但我想制作支持所有它们的操作事件。 其中一个ActionEvent看起来像: 第二个看起来很相似: 我从我的朋友那里听说我应该使用EventHandler创建类并传递参数(复选框和布尔变量),但我不知道怎么做。有什么解
我一直在努力解决这个问题。我正在尝试的是只显示下一个和上一个按钮。直到我得到 我不想要邮政的链接,我想要邮政的子页链接。我在一篇文章中使用多个页面。我正在使用分页符 nextpage注释功能
问题内容: 我希望有一个漂亮的小图标,单击该图标可以清除[HTML_REMOVED]框中的文本。 这是为了节省空间,而不是在输入框外部没有清晰的链接。 我的CSS技能很弱…这是一个 屏幕截图iPhone外观的照片。 问题答案: @thebluefox总结了全部。您还只需要使用JavaScript即可使该按钮正常工作。这是一个SSCCE,您可以复制’n’粘贴’n’运行它: jQuery并不是必须的,