Witam

I znowu mam pewnie dziecinny problem z JS.

Paginacja na ajaxie, wyniki wyświetlam w tabeli.

Po kliknięciu na komórkę chcę dodać wybrany rekord do listy powyżej tabeli.

I tu pojawia się problem, z każdej strony mogę dodawać i usuwać tylko ostatni element.

Kod

GroupEditor.prototype.populatePageTableRows = function(pages) {
        var tbody = this.pagesTable.find('tbody'),
            that = this;
        tbody.find('tr').remove();
        for(var key in pages) {
            if(pages.hasOwnProperty(key)) {
                var tr = $('<tr>'),
                    page = pages[key];
                tr.append($('<td/>')
                            .text(page.title))
                   .click(function() {
                                if (isPageActive(page)) {
                                    removeActivePage(page, tr);
                                } else {
                                    addActivePage(page, tr);
                                }
                            })
                          );
                if (isPageActive(pages[key])) {
                    markRow(tr);
                }
                tbody.append(tr);
            }
        }

        function removeActivePage(page, tr) {
            unmarkRow(tr);;
            that.activePages.find('#page' + page.id).parent().remove();
        }

        function addActivePage(page, tr) {
            markRow(tr);
            var id = page.id;
            that.activePages.find('ul').append(
                                $('<li/>')
                                       .append($('<label/>')
                                               .attr('for','page'+id)
                                               .text(page.title)
                                           )
                                       .append(
                                            $('<input/>')
                                            .attr({
                                                    'type' : 'checkbox',
                                                    'name' : 'group[pages]',
                                                    'value' : id,
                                                    'checked' : true,
                                                    'id' : 'page'+id
                                            })
                                        )
                            )
        }
        function isPageActive(page) {
            return that.activePages.hasElement('#page'+page.id);
        }
        function markRow(tr) {
            tr.css({'background-color' : '#d5d5d5'});
        }
        function unmarkRow(tr) {
            tr.css({'background-color' : '#f1f1f1'});
        }javascript:QuickEdit('id634675',1)
};

Wszelkie uwagi bardzo mile widziane.

[EDIT] Ostatecznie zadziałało nie dodawania zdarzenia w for, tylko poźniej w standardowy 'jQuerowy' sposób.