У меня есть таблица AJAX для отображения 5 строк на странице.
Когда я выбираю, например, 2 строки на странице 2 для удаления с помощью флажков и нажимаю # delete_selected, эти 2 строки удаляются с текущей страницыи следующие 2 строки на третьей странице должны быть добавлены ниже 3 строк, оставленных на странице 2.
Проблема, которую я не могу решить, состоит в том, что, когда я выбираю несколько флажков, например, 2 флажка,Следующие две строки следующей страницы добавляются на текущую страницу как требуется с помощью json (data.nextrow), но они добавляются дважды или три раза и т. Д. В зависимости от того, сколько флажков я выбрал.Поэтому я получаю 3 + (2 * 2) строки вместо 3 + 2.
Любые идеи?
Часть удаления моего сценария:
// deleten met checkboxes
$('a#delete_selected').live('click', function() {
var current_page = $('span.current_page').html();
var data = new Array();
$("input[name='checkdelete']:checked").each(function(i) {
data.push($(this).val());
});
var checkbox_parent = $("input[name='checkdelete']:checked").parent().parent().parent();
checkbox_parent.css('background-color', '#dc143c');
confirm('Weet u zeker dat u dit nieuwsartikel wilt verwijderen?')
var current_page = $('span.current_page').html();
var previous_page = current_page - 1;
$.ajax({
type: "POST",
url: "php/news/delete_news.php",
data: "delete_selected=" + data + "¤t_page=" + current_page,
dataType: "json",
success: function(data) {
$(checkbox_parent).slideUp(400, function() {
$(this).remove();
if($('div.tr').length == 0) {
if(current_page != 1) {
$("div.append-table").load("php/news/load_news.php?goto_page=" + previous_page);
}
}
var last_page = data.last_page;
var max_results = data.max_results;
var total_results = data.total_results;
if(current_page != last_page && $('div.rows').children().length > 1 || total_results == last_page * max_results && current_page == last_page) {
$(data.nextrow).hide().appendTo('div.rows').slideDown(400);
}
if(total_results == 0) {
$('div.rows').html('<p class="table-empty-msg">Er zijn geen nieuwsberichten gepubliceerd.<p>');
}
});
}
});
});