无法使用Jquery通过onclick事件处理程序向动态生成的表添加行

时间:2011-03-23 06:47:39

标签: jquery rows

我正在动态创建表并动态地向它们添加行,这些都是通过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 :(得分:0)

在createNewItem方法中尝试以下方法:

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

我认为它应该是'+'而不是','。

相关问题