我有一个按钮,例如,它上面有一个数字3。如果用户按下它,它会转到4.如果再次按下它,它应该返回到3.相反,它转到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);
}
});
答案 0 :(得分:2)
我不确定您的变量名称发生了什么。其他地方是否定义了$ 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);
}
});
我无法测试它,对任何错别字都很抱歉!