我有一个按钮,例如上面有一个数字3。如果用户按下它,则转到4。如果再次按下,它应该返回BACK3。相反,它转到2。问题是,当我尝试使用新的总数设置主变量时,它是不保存值。有人可以看到发生了什么吗?

这是jQuery / JS:

    var $this = $(this),
    was_voted = $this.data('wasvoted'),
    vote_total = $this.data('vote_total');
    $.ajax({
        // edited
        },

        success : function(data) {


            if (was_voted == 1) {
                $this.vote_total = vote_total - 1;
                $this.data('wasvoted', 0);
            } else if (was_voted == 0) {
                $this.vote_total = vote_total + 1;
                $this.data('wasvoted', 1);
            }

            vote_total = $this.vote_total;

            $this.find('.vote_total').text($this.vote_total);

        }
    });

最佳答案

我不确定您的变量名在那里发生了什么。 $ this.vote_total是否在其他位置定义?那不会改变数据属性(除非我弄错了)。尝试这个:

var $this = $(this),
    was_voted = $this.data('wasvoted'),
    vote_total = $this.data('vote_total');
    $.ajax({
        // edited
        },

        success : function(data) {
            if (was_voted == 1) {
                vote_total --;
            } else if (was_voted == 0) {
                vote_total ++;
            }
            $this.data('vote_total', vote_total);
            $this.find('.vote_total').text(vote_total);

        }
    });


我无法对其进行测试,对不起任何错字!

10-06 08:30