在我的网站上,我试图在不刷新屏幕的情况下删除(隐藏)表中的 sql 条目。
目前,每个可见条目都显示在一个 id 为 schedule000 的 div 中,其中 000 是条目的 id 号。每个都有一个删除按钮:
<div id="btn_delete" class="schedule-delete" onclick="deleteEvent(schedule'.$row['id'].');"></div>
而函数是
function deleteEvent(id) {
var delurl = "..schedule/index.php?d="+String(id.id.substring(8));
$.get(delurl);
$(id).hide('slow');
return false;
}
我在搜索互联网后发现了 get 功能,但我似乎无法让它工作。我正在寻找建议或新的解决方案。
谢谢
作为旁注:这是它正在调用的页面的一部分
if (isset($_GET['d'])) {
$id = $_GET['d'];
$query = "UPDATE schedule SET visible=0 WHERE id='$id'";
if (!(mysql_query($query) or die(mysql_error()))) {
echo 'failed to delete';
}
编辑:使用斯文的方法,我现在有:
function del_item() {
try {
var item_id = $(this).attr('item_id');
var item = $(this).parent().parent(); //parent().paren... until you reach the element that you want to delete
$.ajax({
type: 'POST',
url: "../schedule/index.php",
data: { id: item_id},
success: function() {
//fade away and remove it from the dom
$(element).fadeOut(300, function() { $(this).remove(); });
},
error: function() {
alert('failed to delete');
}
});
} catch (err) {
alert(err.message);
}
}
连同文件准备功能和
if (isset($_POST['action'])) {
if ($_POST['action'] == 'd' && isset($_POST['id'])) {
$id = $_POST['id'];
$query = "UPDATE schedule SET visible=0 WHERE id='$id'";
if (!(mysql_query($query) or die(mysql_error()))) {
echo 'failed to delete';
}
die("J! :)");
}