我希望有人可以指出为什么我的div(在我的情况下,我使用li)在成功执行我的php脚本时没有使用jquery隐藏。
这是我的查询代码(来自jquery即兴插件):
if(v){
var bid = f.bannerid;
$.post('/manage/<?=CFILE?>',{bannerid:f.bannerid,action:'deleteBanner',cid:<?=$contentid?>,uid:'<?=$_SESSION['userid']?>'},{callback:function(data){
if(data=='true'){
$('#list_'+bid).hide('slow', function(){ $(this).remove(); });
}else{
$.prompt('An Error Occured while removing this banner');
}
}});
}
这是我的HTML代码的一部分:
<li id="list_47">
<div>
<div id="row">
<div class="title id="bannerid59"><img src="banner_45_10.jpg" /></div>
<div class="action"><a href="javascript:;" title="Delete Banner" class="deleteBanner" onclick="deleteBanner(59);">Delete</a></div>
</div>
<div id="row-right">
<span class="small">Sort Order: 2</span><br>
</div>
</div>
</li>
<li id="list_48">
<div>
<div id="row">
<div class="title id="bannerid60"><img src="banner_45_11.jpg" /></div>
<div class="action"><a href="javascript:;" title="Delete Banner" class="deleteBanner" onclick="deleteBanner(60);">Delete</a></div>
</div>
<div id="row-right">
<span class="small">Sort Order: 3</span><br>
</div>
</div>
</li>
最后,这是我简单的PHP代码:
if(isset($_POST['action']) && $_POST['action']=="deleteBanner"){
mysql_query("DELETE FROM banner where banner_image='".$_POST['bid']."' AND users_id='".$_POST['uid']."'") or die(mysql_error());
print "true";
exit;
}
我可以使用这些代码从mySQL数据库中删除我的横幅而没有任何问题,但我似乎无法在脚本执行时隐藏已删除的li(例如,list_47)。
感谢任何帮助。 感谢。
答案 0 :(得分:0)
你没有正确地调用$.post
,你的{callback: function() ... }
应该只是函数:
$.post(
'/manage/<?=CFILE?>',
{bannerid:f.bannerid,action:'deleteBanner',cid:<?=$contentid?>,uid:'<?=$_SESSION['userid']?>'},
function(data) {
// ...
}
);
$.post
将在其参数列表中查找函数但不会找到一个函数;由于没有传递回调函数,因此不会调用回调,也不会隐藏<div>
。
比较这两个: