2016-04-03 52 views
0

Merhaba arkadaşlar JQuery ve Smarty ile seçeneklerimi onaylamak veya reddetmek için bir kod yazıyor ama bazı sorunlarım var. Örneğin ilk kez bir seçeneği onaylarken mükemmel bir şekilde çalışırım ancak bir diğerini onaylamak veya reddetmek istediğimde ikinci bir durumda hiçbir şey olmaz. hata yok reaksiyon yok! sadece ilk eylem için çalışıyor! niye ya?Jquery sadece ilk kez çalışıyor

JS:

jQuery(function($){ 
    $('#inreq_approve').click(function() { 
    var frID = $(this).attr('f_inreq_id'); 
    var meID = $(this).attr('f_me_id'); 

    $.get('./_api.php', { 
     mod: 'inreq_approve', 
     key: frID, 
     key2: meID, 
    }, function(data) { 
     if(data == '1'){ 
      alert('item was approved.'); 
      $("#inreq_"+frID).fadeOut(1000); 
     }else if (data = '2'){ 
      alert('item wasnt approved.'); 
     }else { 
      alert('error.'); 
     } 
    }); 
    return false; 
    }); 


    $('#inreq_reject').click(function() { 
    var frID = $(this).attr('f_inreq_id'); 
    var meID = $(this).attr('f_me_id'); 

    $.get('./_api.php', { 
     mod: 'inreq_reject', 
     key: frID, 
     key2: meID, 
    }, function(data) { 
     if(data == '1'){ 
      alert('item was rejected.'); 
      $("#inreq_"+frID).fadeOut(1000); 
     }else if (data = '2'){ 
      alert('item wasnt rejected.'); 
     }else { 
      alert('error.'); 
     } 
    }); 
    return false; 
    }); 
}); 

HTML:

{foreach $friends_inc as $fi} 
<div id="inreq_{$fi.f_m_id}"> 
    <div class="name"> 
     <a>{$fi.f_m_name}</a> 
    </div> 
    <ul class="dropdown-menu"> 
     <li> 
     <a href="#" class="tooltip-success" title="Approve"> 
      <i id="inreq_approve" f_inreq_id="{$fi.f_m_id}" f_me_id="{$smarty.session.uid}"></i> 
     </a> 
     </li> 
     <li> 
      <a href="#" class="tooltip-warning" title="Reject"> 
       <i id="inreq_reject" f_inreq_id="{$fi.f_m_id}" f_me_id="{$smarty.session.uid}"></i> 
      </a> 
     </li> 
    </ul> 
</div> 
{/foreach} 

_api.php: işlevlerde işlemlerinizi saklanması ve bunun gibi, onun içinde aramaya

Switch ($mod) { 

    Case $mod == "inreq_approve": 

     $result = $df->sql_query('.....'); 
     $row = $df->sql_fetchrow($result); 

     if (!empty($row)) { 
      ..... 
       echo "1"; 
      } else { 
       echo "2"; 
      } 
     $df->sql_close(); 
     break; 

    Case $mod == "inreq_reject": 

     $result = $df->sql_query('....'); 
     $row = $df->sql_fetchrow($result); 

     if (!empty($row)) { 
      ..... 
       echo "1"; 
      } else { 
       echo "2"; 
      } 
     $df->sql_close(); 
     break; 
} 
+0

Bize runnable bir örnek verebilir misiniz? – Siguza

+0

Yerelde çalışıyorum ve projem henüz tamamlanmadı :( – CHARLI

+0

http://output.jsbin.com/mamiwilugi – CHARLI

cevap

0

deneyin:

var aprove = function(element) { 
    $(element).click(function() { 
     // your code 
     $.get(url, function(data) { 
       // your code 
       aprove(element); 
     }); 
    }); 
}; 
aprove(element); 
+0

Ben yol ama aynı sorunu ile çalışıyorum – CHARLI

İlgili konular