你好我正在制作图片竞赛页面(有不同的规则)
我似乎无法解决这个“问题”
规则是:用户可以为 ONE 图片投票,但不能为他自己的图片投票。他可以取消他的投票,并投票给另一个人。
我有 PHP 来检查所有这些,它工作正常。
类型为 0 就是这种情况
function addVote(pictureID, competitionID, type){
$.post('vote.php', {pictureID:pictureID, competitionID:competitionID, vote:1}, function(data){
if (data == 'success') {
$("#comp_voteButton_"+pictureID).text('Remove vote');
$("#comp_voteButton_"+pictureID).addClass("alreadyVoted");
$("#comp_voteButton_"+pictureID).attr("onclick", "remVote(" + pictureID + ", " + competitionID + ")")
if (type == 0){
$('.button:not(.disabled, #comp_voteButton_'+pictureID+')').text('Only one vote permitted');
$('.button:not(.disabled, #comp_voteButton_'+pictureID+')').removeClass('alreadyVoted');
$('.button:not(.disabled)').addClass('.disabled, .red');
getVote(pictureID, competitionID);
}else {
$().toastmessage('showErrorToast', "Error!");
}
});
}
在同一个文件中:
function remVote(pictureID, competitionID){
$.post('vote.php', {pictureID:pictureID, competitionID:competitionID, vote:0}, function(data){
if (data == 'success') {
$("#comp_voteButton_"+pictureID).text('Vote picture');
$("#comp_voteButton_"+pictureID).attr("onclick", "addVote(" + pictureID +","+competitionID+","+0+")")
$("#comp_voteButton_"+pictureID).removeClass('alreadyVoted');
getVote(pictureID, competitionID);
}else {
$().toastmessage('showErrorToast', "Error!");
}
});
}
编辑:如果这样更容易,这是链接:
<a href="javascript:void(0);" class="button blue small" id="comp_voteButton_<?echo $row['ID']?>" onclick="addVote(<?echo $row['ID']?>, <?echo $id?>, <?echo $vote?>)">Vote</a>
我想要什么:在 addVote 上,所有其他按钮都应该设置为 'onclick(remVote(ID, compID))' - 但我不能这样做,因为两个 ID 都没有输入到 addVote 函数中。
我希望你们能得到我的问题(也许这是不可能的,或者必须做出一个奇怪的解决方法) - 但也许有一种很好的方法。