我有一个脚本,它运行 AJAX 调用以从数据表中删除指定行。查询运行良好,记录已从数据库中删除,但当用户单击删除按钮隐藏时,我无法获取用户正在浏览的表中的行。我想我记得 jQuery
有 td/tr
的问题,这也许就是这样,但即使在尝试将每个表行放入其自己的 div 中以引用我之后还是没有运气。
ajax请求:
$(document).ready(function() {
//##### Send delete Ajax request to response.php #########
//$("body").on("click", "#responds .del_button", function(e) {
$("body").on("click", ".del_button", function(e) {
e.returnValue = false;
var clickedID = this.id.split('-'); //Split string (Split works as PHP explode)
var DbNumberID = clickedID[1]; //and get number from array
var myData = 'recordToDelete='+ DbNumberID; //build a post data structure
jQuery.ajax({
type: "POST", // HTTP method POST or GET
url: "ajax/education_response.php", //Where to make Ajax calls
dataType:"text", // Data type, HTML, json etc.
data:myData, //Form variables
success:function(response){
//on success, hide element user wants to delete.
$('#item_'+DbNumberID).fadeOut("slow");
},
error:function (xhr, ajaxOptions, thrownError){
//On error, we alert user
alert(thrownError);
}
});
});
$('html, body').stop();
});
以及我正在使用的用于填充表格的结构(我知道每行的 div
都很困惑,但正如我所说,我确信我记得 jQuery
不喜欢 tr/td
。我在其他页面上使用了这个 ajax 调用,并且 fadeout()
在所有其他情况下都能正常工作,所以确保它必须是因为我试图从前端表中删除个别行。
<?php
while ($row = mysqli_fetch_assoc($result)) {
$catid = $row['id'];
$catsector = $row['job_sector'];
$cattype = $row['job_type'];
$catname = $row['job_name'];
echo "<div id=item_".$catid.">";
echo "<tr class=''>";
echo "<td>$catsector</td>";
echo "<td>$cattype</td>";
echo "<td>$catname</td>";
echo "<td><a href='#' class='del_button' id='del-". $catid ."'>Delete CV</a></td>";
echo "</tr>";
echo "</div>";
}
?>
最佳答案
删除
echo "<div id=item_".$catid.">";
和
echo "</div>";
并改变
echo "<tr class=''>";
对于
echo "<tr class='' id=item_".$catid.">";
关于jquery - AJAX 调用可以正常运行 MySQL 删除查询,但不会隐藏从页面中删除的表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17329584/