2016-04-03 19 views
0

Hallo Leute, ich schreibe einen Code, um meine Optionen mit JQuery und Smarty zu genehmigen oder abzulehnen, aber ich habe ein paar Probleme. zum beispiel wenn ich zum ersten mal eine option genehmige funktioniert es perfekt, aber in der zweiten zeit, wenn ich eine andere genehmigen oder ablehnen will, gibt es nichts zu passieren. keine Fehler keine Reaktion !! es funktioniert nur für die erste Aktion !! Warum?Jquery nur zum ersten Mal arbeiten

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:

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

Können Sie uns ein ausführbares Beispiel geben? – Siguza

+0

Ich arbeite in lokalen und mein Projekt noch nicht abgeschlossen :( – CHARLI

+0

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

Antwort

0

try Ihre Aktionen in Funktionen kapseln und im Inneren, wie folgt aufrufen:

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

Ich versuche mit Ihrem Weg, aber das gleiche Problem – CHARLI

Verwandte Themen