Невозможно добавить строки в динамически сгенерированную таблицу с помощью обработчика событий onclick с помощью Jquery - PullRequest
0 голосов
/ 23 марта 2011

Я нахожусь в процессе динамического создания таблиц и динамического добавления к ним строк, все это делается с помощью Jquery, динамическое создание таблиц - это хорошо, но не добавление строк в таблицы, так выглядит мой код, onclickобработчик события на кнопке ничего не делает, где я ошибся?Однако, если я жестко закодирую tableID, он, похоже, будет работать так: $ ("# 1 tr: last"). After (newRow);

Спасибо за ваше время, ребята.

    $(document).ready(function()
        {               
            var tableID = 1;
            $('#btnAddSOWG').click(function(){createNewGroup(tableID++);});

            function createNewGroup(RecID) 
            {                   
                var table       = document.createElement('table'); 
                table.id        = RecID;
                var newRow      = table.insertRow();
                var oCell       = newRow.insertCell();
                oCell.innerHTML = "Work Group : <input type='text' name='t1'>";                                 

                var button      = document.createElement('input'); 
                button.type     = "button"; 
                button.id       = 'btn'+ RecID; 
                button.value    = 'Add Work Item';                  
                button.onclick  = function(){createNewItem(RecID);}

                oCell.appendChild(button);

                $('body').append(table);
            } 


            function createNewItem(tableID)
            {                                   
                var selector = "#" +tableID;
                var newRow= "<tr><td><input type='text' name='t1'><td></tr>";   
                $(selector," tr:last").after(newRow);

            } 
        });
    </script>

HTML:

<body>
    <input type=button id="btnAddSOWG" value="Add Group">
</body>

1 Ответ

0 голосов
/ 23 марта 2011

Попробуйте использовать следующий метод внутри метода createNewItem:

$(selector+" tr:last").after(newRow);

Я думаю, что это должно быть '+' вместо ','.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...