Тема: зміна елементу строки у таблиці, після зміни(jquery)
Я змінюю статус декількох осіб у таблиці (за допомогою ajax jquery запит до сервера), статус змінюється, і це відображається на екрані. Якщо я хочу ще раз змінити статус осіб, то в базі даних статус змінюється, але на екрані зміни не має, доводеться перезагружати сторінку. У коді після коментарів(STATUS EDIT)
$("[name='OK']").click(function(e) {
e.preventDefault();
var table = []
var id = [];
$(".delete-id:checked").each(function() {
id.push($(this).val());
table.push($(this).closest('tr'));
element = this;
});
$('#msg2').html('');
if (id == 0) {
$("#CheckboxCheck").modal('show');
return false;
}
// if(status==undefined){
// status=0;
// }
$('#userId').val(id);
$('#deleteId').val(id);
$("#Editstatus").val(status);
if ((status < 1 || status == null || status == undefined)) {
$("#SelectCheck").modal('show');
}
// **********MASS DELETE************
else if ((id != 0 && status == 3)) {
$("#MassDeleteModal").modal('show');
$("[name='massDel']").click(function() {
var id = [];
id = $('#deleteId').val();
let Pass = 'App/View/Connector.php'
$.ajax({
url: Pass,
type: 'post',
data: {
mass_delete: 'mass',
mass_id: id
},
success: function(response) {
$(table).each(function(key, value) {
value.remove()
})
},
error: function(response) {
$('#msg2').html('Not send');
}
})
})
}
// **********STATUS EDIT************
if ((status == 1 || status == 2)) {
$("#statusModal").modal('show');
$(document).on('click', "[name='StatusEdit']", function() {
let id = [];
id = $('#userId').val();
var status = $("#Editstatus").val();
let Pass = 'App/View/Connector.php'
t_id = $('#' + id);
if (status == 0 || status == undefined) {
$('#msg2').html("status' => false, 'error' => array('code' => '8', 'message' => 'please choose status'")
}
$.ajax({
url: Pass,
type: 'post',
data: {
edit_status: 'edit',
status: status,
id: id
},
success: function(data) {
console.log(id);
arr = JSON.parse(data);
t_id = $('#' + id);
var t_name = $('#' + id).children('td[data-target=first_name]').text();
var t_role = $('#' + id).children('td[data-target=role]').text();
var some_status = arr['user']['status'];
var str = null;
if (some_status == 1) {
str = '<i class="fa-solid fa fa-circle fa-2x " style="color:green">'
} else if (some_status == 2) {
str = '<i class="fa-solid fa fa-circle fa-2x " style="color:grey">'
}
var rowContent = `<td class="text-center align-middle">${str}</td>`
$(table).each(function(key, value) {
value.children('td[data-target=status]').replaceWith(`<td class="text-center align-middle">${str}</td>`);
})
// $('#' + id).children('td[data-target=status]').replaceWith(`<td class="text-center align-middle">${str}</td>`);
}
})
})
}
})