无法使用Jquery通过onclick事件处理程序将行添加到动态生成的表中
我正在动态创建表,并将行动态附加到表中,所有这些都是通过Jquery完成的,动态创建表很好,但不将行附加到表中,这就是我的代码的样子,按钮上的onclick事件处理程序什么也没做,我哪里出错了?但是,如果我硬编码tableID,它似乎可以工作,比如:$(“#1tr:last”).after(newRow) 谢谢你们的时间,伙计们无法使用Jquery通过onclick事件处理程序将行添加到动态生成的表中,jquery,rows,Jquery,Rows,我正在动态创建表,并将行动态附加到表中,所有这些都是通过Jquery完成的,动态创建表很好,但不将行附加到表中,这就是我的代码的样子,按钮上的onclick事件处理程序什么也没做,我哪里出错了?但是,如果我硬编码tableID,它似乎可以工作,比如:$(“#1tr:last”).after(newRow) 谢谢你们的时间,伙计们 $(document).ready(function() { var tableID =
$(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>
$(文档).ready(函数()
{
var-tableID=1;
$('#btnAddSOWG')。单击(函数(){createNewGroup(tableID++);});
函数createNewGroup(RecID)
{
var table=document.createElement('table');
表1.id=累进;
var newRow=table.insertRow();
var oCell=newRow.insertCell();
oCell.innerHTML=“工作组:”;
var按钮=document.createElement('input');
button.type=“button”;
button.id='btn'+RecID;
button.value='添加工作项';
button.onclick=function(){createNewItem(RecID);}
oCell.appendChild(按钮);
$('body')。追加(表);
}
函数createNewItem(tableID)
{
var选择器=“#”+tableID;
var newRow=“”;
$(选择器,“tr:last”)。在(newRow)之后;
}
});
HTML:
在createNewItem方法中尝试以下方法:
$(selector+" tr:last").after(newRow);
我想应该是“+”而不是“,”。@Karthi,太棒了!现在只需再查询一次,是否可以动态创建此行并向其中添加onblur事件?"";假设您已经有一个表行,那么可以使用clone方法轻松地动态添加新行<代码>$(选择器+“tr:last”).clone(true).insertAfter(选择器+“tr:last”)代码>。要添加模糊,请参阅@Karthi,此行$(选择器+“tr:last”).clone(true).insertAfter(选择器+“tr:last”);当它应该执行createNewItem(tableID)函数正在执行的操作时,只是动态地构建新表。是的,它构建了一个新行。onblur事件可以使用
$(“:input”).live('blur',function(){//do stuff})捕获代码>
$(selector+" tr:last").after(newRow);