我有一個帶有復選框洗掉所有選項的表單,它在洗掉專案時作業正常,但不能在ajax回應時從表中洗掉該洗掉的專案。
我怎樣才能在ajax回應中從表格中洗掉已洗掉的多個id?
我搜索了所有的網站,但沒有一個真正的解決方案,我嘗試了這里中的所有最佳答案,但沒有一個是正確的答案。
注意:我可以用$("#" id).closest('tr').remove();來洗掉一個被洗掉的行,但不能洗掉多個。
我發現最好的解決方案是location.reload();page,但如果重新編碼頁面,則不需要ajax。
這是我的ajax :
$(document) 。 on('click',' [data-bs-target="#deleteAll"]',function(event){
event.preventDefault()。
var del = new Array();
$("input[name='del[]']:checked").each(function(){
del.push($(this).val()。
});
var valid = false。
if(confirm("Are you sure want to delete this User ?")){
$.ajax({
url:"modules/mod_users.php"/span>。
method:"POST"。
data:{del:del},
dataType:"JSON"/span>。
success:function(data){
location.reload()。
valid = true。
}
});
} else {
return null;
}
});
和php部分 :
if(isset($_POST['del')) {
$error = '';
$deleteAll = implode(', ', $_POST['del']) 。
$stmt = $pdo->prepare('SELECT * FROM users WHERE user_id IN ('] . $deleteAll . ')')。)
$stmt-> execute();
while ($row = $stmt->fetch() ) {
@unlink('./images/avatars/' . $row["img"])。)
}
$stmt = $pdo->prepare('DELETE FROM users WHERE user_id IN ('/span> . $deleteAll . ')')。)
$stmt-> execute();
if($stmt) {
$error .= "Deleted.";
}else{
$error .= "Opps something went wrong." ;
}
echo json_encode($error) 。
}
uj5u.com熱心網友回復:
如果我沒有理解錯的話,你想在ajax回應后洗掉所有檢查過的行?
如果你這樣做的話
$("input[name='del[]'] :checked")。 each(function(){
del.push($(this).val()。
});
你也可以在ajax回應中這樣做
...
success:function(data){
$("input[name='del[]']:checked").each(function(>/span>) {
$(this).closest('tr').remove()。
});
valid = true。
}
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/323834.html
標籤:
