我正在尝试使用Ajax创建一个删除函数。
function delCatItem(catitem){
var theitem = catitem;
$.ajax({
url: "movie/deleteitem/",
type: "POST",
data: { "movieid" : catitem },
dataType: "html",
success:
});
}
该函数从一个按钮获取一个id号,并将其发布到一个模型,在该模型中,它找到该项并从数据库中删除它。这有效。但是,我不确定将什么放入成功部分,以便在没有该项目的情况下重新加载内容。谢谢!
编辑
<table class="table">
<?php foreach ($movies as $movie){?>
<tr>
<td><button id="item_<?=$movie['movieid'];?>" onClick="delCatItem('<?=$movie['movieid']?>')"class="deletebut">
<span class="glyphicon glyphicon-remove"></span></button>
<td><h4><?=$movie['title'];?></h4></td>
<td><img src="<?=$movie['thumburl'];?>"/></td>
</tr>
<?php } ?>
</table>
答案 0 :(得分:0)
首先,将theitem
设置为catitem
看起来多余?
但在成功部分添加function(){}
function delCatItem(catitem)
{
//var theitem = catitem;
$.ajax({
url: "movie/deleteitem/",
type: "POST",
data: { "movieid" : catitem },
dataType: "html",
success: function(html)
{
$("#yourContainer").html(html);
}
});
}
您的deleteitem脚本可能会返回新的行集
或者,像这样使用.done()
:
function delCatItem(catitem)
{
//var theitem = catitem;
$.ajax({
url: "movie/deleteitem/",
type: "POST",
data: { "movieid" : catitem },
dataType: "html"
}).done(function(html)
{
$("#yourContainer").html(html);
});
}
答案 1 :(得分:0)
您无需重新加载内容,您需要从DOM中删除已删除的项目。如果没有关于HTML的更多信息,我不能非常具体。
function delCatItem(catitem){
var theitem = catitem;
$.ajax({
url: "movie/deleteitem/",
type: "POST",
data: { "movieid" : catitem },
dataType: "html",
success: function(){
var selector = '#item_'+catitem;
$(selector).parents('tr').remove();
}
});
}
答案 2 :(得分:0)
执行某项操作时的标准做法是检查任务是否已在服务器端成功完成?只返回一个标志true或false。如果从数据库中删除记录(一切正常),则返回true,否则返回false并显示相应的消息。