嗨,伙计们,我写了一个代码来批准或拒绝我使用 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);