[英]Unable to remove a table row after ajax success
在我的html-php表中:
<tr id="idrow">
<td><?php echo $user_id; ?></td>
<td ><?php echo $user_name; ?></td>
<td>
<input type="button" class="btn btn-danger btn-xs delete " value="Cancella sin id" onclick="deleteFunction(<?php echo $user_id; ?>)"/>
</td>
</tr>
有一個按鈕使用id字段通過ajax調用擦除sql行。 我的問題是成功后在更新表上:
我的js代碼是:
function deleteFunction(valor) {
var $tr = $('#datatable-id').closest('tr');
var id = valor;
var parametros = {
"id" : id
};
console.log(parametros);
$.ajax({
type: "POST",
url: "deleteTabla.php",
data: parametros,
success: function(result){
//$("#idrow").remove();
$tr.remove();
},
error: function () {
console.log('ajax error');
}
});
}
使用$("#idrow").remove()
,將$("#idrow").remove()
第一行,而不是與按鈕相關的行。
我想把戲在var $tr = $('#datatable-id').closest('tr');
,參考tr標簽?
任何幫助表示贊賞。
如果我理解正確,則每一行都有相同的ID(idrow)。 這是您的第一個錯誤。 ID在整個頁面中必須是唯一的。 創建具有唯一ID的行,並將其傳遞給函數:
<tr id="idrow_<?php echo $user_id; ?>">
...
<td>
<input type="button" onclick="deleteFunction('<?php echo $user_id; ?>')"/>
</td>
</tr>
在您的函數中,只需執行以下操作:
function deleteFunction(valor) {
...
$('#idrow_'+valor).remove();
...
}
與#datatable-id
最接近的tr
始終是第一行。 如果要刪除特定行,請嘗試分配一個ID。
<tr id="<?php echo $user_id;?>">
....
</tr>
然后在函數中:
function deleteFunction(valor) {
var $tr = $('#' + valor);
// delete after request is success
$tr.remove()
}
嘗試這個
<tr id="idrow_<?= $user_id ?>">
而成功:
$("#idrow_" + valor).remove();
在函數的開頭將選擇器更改為: var $try = $("#idrow")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.