При выполнении Ajax-запроса выбранные элементы успешно удаляются на сервере, но без перезагрузки этих изменений не увидеть, метод remove() не работает.
Вот запрос:
var parent = $(this).closest('.item');
var ids = [];
$(".review_ids:checked").each(function(){
ids.push($(this).val());
})
var token = $('#token').val();
var $this = $(this);
$.ajax({
method: "POST",
dataType: 'json',
url: "/admin/index.php?route=reviews/reviews/remove&token="+token,
data: { 'is_ajax': 1, 'token': token, 'review_id[]': ids }
}).done(function( data ) {
if(typeof data.success != 'undefined' && data.success == 1) {
$this.trigger('mouseleave'); //убираем tooltip
ids.each(function(){
parent.remove();
})
checkReviewsItems();
}
Так выглядит каркас:
<tr class="item">
<td class="text-center">
<?php if (in_array($review['review_id'], $selected)) { ?>
<input type="checkbox" name="selected[]" value="<?php echo $review['review_id']; ?>" checked="checked" class="review_ids" />
<?php } else { ?>
<input type="checkbox" name="selected[]" value="<?php echo $review['review_id']; ?>" class="review_ids" />
<?php } ?>
</td>
<td class="text-left" style="width: 50px;"><?php echo $review['review_id']; ?>
<input type="hidden" name="review_id" class="review_id" value="<?php echo $review['review_id']; ?>">
</td>
<td class="text-left" style="width: 35%;"><textarea data-value="<?php echo $review['review_text']; ?>" style="width: 100%; height: 110px;" class="review_text required"><?php echo $review['review_text']; ?></textarea></td>
<td class="text-left"><?php echo $review['review_username']; ?><hr>
</td>
</tr>