2017-01-30 83 views
0

嗨有一个心脏图像,应单击添加到收藏夹,然后再次单击时从收藏中删除。当页面刷新时,Add/Remove都起作用,但是如果一次添加,然后尝试再次移除,然后再次添加不起作用。切换添加到收藏夹/从收藏夹中删除 - 不工作

以下是HTML/PHP

<a href="#"><img class="<?php if($favorite == 1){ echo 'alreadyfavorite';} else { echo 'addtofavorite';} ?>" pid="<?php echo $propertyid; ?>" fpid="<?php while($data5=$select5->fetch()){echo $data5['favorite_properties_id'];} ?>" src="../images/system/addtofavorite.png"></a> 

这是jQuery的

$('.addtofavorite').click(function() { 
    event.preventDefault(); 
    var ins_id = $(this).attr('pid'); 
    var reference = this; 

    $.ajax(
    { 
     type: 'POST', 
     url: '../controllers/favoritesaddremove.php', 
     data: 

     { 
      ins_id: ins_id 
     }, 
     success: function(data) 
     { 
     $(reference).removeClass('addtofavorite').addClass('alreadyfavorite'); 
     } 
    }); 
}); 


$('.alreadyfavorite').click(function() { 
    event.preventDefault(); 
    var del_id = $(this).attr('fpid'); 
    var reference = this; 

    $.ajax(
    { 
     type: 'POST', 
     url: '../controllers/favoritesaddremove.php', 
     data: 

     { 
      del_id: del_id 
     }, 
     success: function(data) 
     { 
     $(reference).removeClass('alreadyfavorite').addClass('addtofavorite'); 
     } 
    }); 
}); 

也可以有人告诉我如何包装的代码,而在计算器张贴,好像我的HTML/PHP代码正在显示一个水平滚动...

回答

1

你可以尝试使用jquery toggle类。

$(element).toggleClass("c1 c2"); 

也可以使用与选择器相同的类。

$(".c1, .c2").toggleClass("c1 c2"); 
+0

类是越来越切换...和jQuery效果在CSS中发生的事情,但如果我尝试再点击一下的函数,在最近更新的类工作..。于是最近更新的类是没有得到的jQuery回升 – DragonFire

+0

确定您的问题。的 代替 '$(” C1,≥C2 “)toggleClass(” C1 C2 “);' ... 写 '$(元素).toggleClass(” C1 C2" );' 为类名称正在动态变化。和toggleclass绑定页面加载。所以切换完成后类选择器将无法工作。使用另一个选择器,如id或数据属性。 –