我在这里发现了一些这样的问题,但没有一个对我有用。我有一个最喜欢的按钮,我希望我的用户按下喜欢的东西。 ajax请求工作正常,收藏夹存储在数据库中,但我只能使用它一次然后我必须刷新页面以取消/取消该项目。该按钮的代码是:
<div id="fav-icon">
<?php
// Function checks if user has fav'd the item.
$isFav = favourite($user->id) ? 'un-fav' : 'fav';
?>
<i id="<?php echo $item->id; ?>" class="<?php echo $isFav; ?>"><span class="font-12 fa fa-heart"></span></i>
</div>
Jquery / Ajax
$('.fav').click(function(e){
var con = $(this).attr('id');
$.ajax({
url: 'fav.php',
type: 'POST',
async: true,
data:{
'fav' : con
},
success:function(){
$('#fav-icon').load(document.URL + ' #fav-icon');
}
});
});
$('.un-fav').click(function(e){
var con = $(this).attr('id');
$.ajax({
url: 'fav.php',
type: 'POST',
async: true,
data:{
'fav' : con
},
success:function(){
$('#fav-icon').load(document.URL + ' #fav-icon');
}
});
});
所以这只能运作一次!我尝试了一些不同的功能来尝试使这项工作包括:
$('.fav').live('click', function(e) {
谁能告诉我哪里出错了,以及让我的按钮多次工作的正确方法?
答案 0 :(得分:2)
使用$(document).on()
点击事件
$(document).on('click','.fav', function(e) {
...
});