我有一个带有多个相似按钮的div,我有以下代码,当用户按下其中一个相似按钮时,它会返回data-catid值。
$('.likes').click(function(){
var catid;
catid = $(this).attr("data-catid");
$.get('/rmb/like_image/', {like_id: catid}, function(data){
$('.likes').html(data);
$('.likes').attr('disabled','disabled');
});
});
我的问题不是将其返回到按下的唯一按钮,而是将值返回到所有按钮。我知道这与这一行有关
$('.likes').html(data);
但我不确定如何解决它。
有什么建议吗? 感谢
答案 0 :(得分:1)
您需要更新当前单击的元素,因此使用闭包变量存储对单击元素的引用,然后在ajax回调上使用该引用。
$('.likes').click(function () {
var $this = $(this),
catid = $this.attr("data-catid");
$.get('/rmb/like_image/', {
like_id: catid
}, function (data) {
$this.html(data).prop('disabled', true);
});
});
答案 1 :(得分:1)
只更新当前元素。
$('.likes').click(function () {
var self = $(this);
var catid = self.attr("data-catid");
$.get('/rmb/like_image/', {
like_id: catid
}, function (data) {
self.html(data).prop('disabled', true);
});
});
答案 2 :(得分:0)
$('.likes').click(function(){
var catid;
thatVar = $(this);
catid = $(this).attr("data-catid");
$.get('/rmb/like_image/', {like_id: catid}, function(data){
thatVar.html(data);
thatVar.attr('disabled','disabled');
});
});
你能试试这个吗?