正如其他人所指出的,你错过了你的表TBODY。
另一点(也已经提出)是,您应该使用更广泛的事件(如onBlur或onChange)。
在我的看法中,你不应该添加具有相同ID的元素(这会使你的HTML不符合规范 - 它会工作,尽管它可能会给你或其他人一些头痛的未来)。这就是说,我不是很喜欢HTML字符串操纵的东西,并尽量避免它,所以,我建议你使用“虚拟”行(发布时应该忽略)表格),如:
Enter name: |
$(document).ready(function(){
$("#teamMemNum").on('change', function(e){
var num = $("#teamMemNum").val();
for(var i = 0; i < num; i++){
//Clone a new line from the dummy sample (invisible) line
var newLine = $('#memNameTable').find('tr.sampleTR').first().clone();
//Generate a new id to be used
var newID = 'memName_' + $('#memNameTable').find('tr').length;
//Sets the new ID on the newLine elements
$(newLine).find('input[name=memName]').attr('id', newID);
$(newLine).find('label.lineLabel').attr('for', newID);
//Append the newLine to the TBody of the Table
$(newLine).appendTo($("#memNameTable tbody"));
}
});
});
对我来说,这是一个更清晰的方法,不要混合HTML代码。
注意:.hidden css类应设置为{ display:none; }或类似的东西。