Jquery只是第一次工作


Jquery just work for first time

嗨,伙计们,我写了一个代码来批准或拒绝我使用 JQuery 和 Smarty 的选项,但我有一些问题。例如,当我第一次批准一个选项时,它完美地工作,但在第二次我想批准或拒绝另一个选项时,什么也没发生。没有错误没有反应!它只是第一次行动的工作!为什么?

.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;
}
尝试将您的

操作封装在函数中并在其中调用,如下所示:

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