作者petercilee (叶慈)
看板Ajax
标题[问题] 有关使用jQuery在删除资料的一点疑问
时间Mon Oct 14 10:42:55 2013
各位高手,我的系统是Mac OS X 10.8.5的用户,使用MacVim来当作Editor。
以下是我资料夹的状况:
/Library/WebServer/Documents/
|
|
--------css/
|
|
--------js/
| |---------try.js
|
|
--------src/
| |---------delete.php
|
|
--------templates/
| |---------query.php
|
|
--------index.html
我正在练习一个简单的范例题,但是我出现一个难以索解的问题,
希望各位可以帮忙解答。
首先,这是附图(index.html):
http://s917.photobucket.com/user/petercilee/media/001_zps8b867241.png.html?sort=3&o=0
这是一个金庸人物的资料登陆,如果按下查询,会呼叫位於templates里
面的query.php来列出资料结果:
http://s917.photobucket.com/user/petercilee/media/002_zps8732d70b.png.html?filters[user]=137595473&filters[recent]=1&sort=1&o=0
如果移动光棒到任一个列表的话,会出现光棒,还有隐藏的垃圾桶图示
与编辑图示:
http://s917.photobucket.com/user/petercilee/media/003_zpsd13e8e53.png.html?filters[user]=137595473&filters[recent]=1&sort=1&o=0
我想要做一个功能,是按下垃圾桶後,该资料会被删除,然後那一行,会fadeout。
但是,我在这里出现了一个奇怪的错误,就是,我的资料确认在按下垃圾
桶後,确实的被删除了,然而画面却没有任何变化.....= =
我的结构是这样的,画面的任何动作,写在try.js里面,按下query.php中
的垃圾桶後,try.js会去连delete.php,删除完资料时再fadeout掉该行资
料。
以下是我的try.js的程式码:
$("table").find("img[class='icon_garbage']").click(function(){
var delnum = $(this).parents("tr").find("td[class='so']").text();
var string='delete_num='+delnum;
$.ajax({
url:"../src/delete.php",
type:"post",
data:string,
success: function(){
var tr = $(this).parents("tr");
tr.fadeOut('slow', function(){
$(this).remove();
});
}
})
});
以下是我的query.php的程式码:
<?php
$str = 'select * from ch';
$result = mysqli_query($testlink,$str);
echo '<table cellspacing="0">';
echo '<tr><td>武林编号</td><td>侠客姓名</td><td>得意招式</td><td>所属门派</td></tr>';
while ($row = mysqli_fetch_array($result))
{
echo '<tr><td id="serial" class="so">'.$row[num].'</td><td>'.$row[name].'</td><td>'.$row[gonfu].'</td><td>'.$row[locate].'</td><td class="animated pulse" style="width:30px"><img class="icon_garbage" src="../img/garbage.png"></td><td class="animated pulse" style="width:20px"><img class="icon_edit" src="../img/edit.png"></td>';
}
echo '</table>';
?>
以下是我的delete.php的程式码:
<?php
include ("serverlink.php");
include ("vars.php");
$str="DELETE FROM ch WHERE num =".$_POST['delete_num'];
mysqli_query($testlink,$str);
?>
抱歉了,请各位可以帮忙解惑,在此先谢了.... m(_ _)m
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.39.90.51
1F:推 s540421:var tr = $(this).parents("tr"); 10/19 23:06
2F:→ s540421:这行的this会指向到ajax response,这应该不是你要的结果 10/19 23:07