javascript - jQuery 多对多关系

标签 javascript jquery

你好我正在做一个图片比赛页面(有不同的规则)

我似乎无法解决这个“问题”

规则是:用户可以为一张图片投票,但不能为他自己的图片投票。 并且他能够取消他的投票,并投票给另一个人。

我有 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 函数中。

我希望你们能明白我的问题(也许这是不可能的,或者必须采取一种奇怪的解决方法)- 但也许有一个很好的方法来解决这个问题。

最佳答案

好吧,我承认这是一个非常奇怪的问题。

但我做了其他事情(感谢您的宝贵时间)

我做了什么:在 addVote 中......

$('.button:not(.disabled, #comp_voteButton_'+pictureID+')').hide();

然后它会隐藏所有其他按钮,因此用户不会认为他们可以为不止一张图片投票。然后在 removeVote 部分再次显示所有按钮。

关于javascript - jQuery 多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13779110/

相关文章:

javascript - for forEach is javascript 的语法是这样的,有什么具体原因吗?

javascript - 从 gmail 中获取 html 表并使用 google apps 脚本放入 google 表格中

jquery - 检查 CSS 位置后如何解决 Safari 9.1 转换剪辑路径的问题?

javascript - Bootstrap TreeView 不显示树

jquery - 如何使用内部有边距的零高度 block 获取 block 高度

javascript - 如何从jsp代码动态添加的文本框中获取数据

javascript - IE 问题 : wrong tab focus

javascript - 如何检查 JavaScript 中是否存在函数?

javascript - 使用 SlideToggle 按钮显示/隐藏信息

javascript - 在客户端实现comet