2016-06-13 4 views
0

Я видел несколько таких вопросов здесь, но ни один из них не работает для меня. У меня есть любимая кнопка, которую я бы хотел, чтобы мои пользователи нажимали на любимые вещи. Запрос ajax работает очень хорошо, и избранное хранится в базе данных, но я могу использовать его только один раз, тогда мне нужно обновить страницу до fav/unav item. Код кнопки:Запрос Ajax на php работает только один раз за pageload

<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

вы меняете статус от избр до unfav/unfav в избры в АЯКСЕ файл? –

+0

no Я просто обновляю div с помощью функции php, чтобы проверить, должен ли класс item быть fav/un-fav. – ShiggyDooDah

ответ

2

Использование $(document).on() нажмите событие

$(document).on('click','.fav', function(e) { 
... 
}); 
+0

Спасибо, что работает! Еще одна проблема заключается в том, что значок сердца слегка перемещается вправо, когда его щелкают ... Я сделаю некоторое исследование и попытаюсь понять его. Спасибо за помощь!! – ShiggyDooDah