我有一个简单的表,我希望在某些条件适用时动态地向它们添加行。
<table>
<thead>
<tr>
<th>A</th>
<th>B</th>
</tr>
</thead>
<tbody>
<tr>
<td><input class='new' name='test1' value='' /></td>
<td><input name='test2' value='' /></td>
</tr>
</tbody>
</table>
JS:
$('table').on('keydown', '.new', function () {
if ($(this).val() === '') {
var newBench = $("<tr><td><input class='new' name='aname' value='' /></td><td><input name='aname' value='' /></td></tr>");
newBench.hide().appendTo('#dialog table').show('slow');
}
});
如果您在第一个输入中键入内容,则另一行将附加到表中,但是这样做时,包含插入文本的输入的 td 元素会变大。它只发生在第一行并且在 IE9 下工作。如果我删除 hide() 和 show() 部分,它会按预期工作。
这是一个不起作用的代码示例:JSFIDDLE