Добавление строк слишком много раз в разбитую на страницы таблицу с помощью флажков через json - PullRequest
0 голосов
/ 21 июня 2011

У меня есть таблица 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 + "&current_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>');
                    }
                });
            }
        });
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...