在表末尾动态添加TR
Add TR at the end of table dynamically
当我键入输入文本(.item-input
)时,它应该在table
的底部添加一个新的tr
-它应该从class="template-row"
复制并将类名更改为class="row"
(底部只有新的动态tr
)
如果底部输入为空,它也不应该一直在底部添加新的tr(新的"tr")
出于某种原因,它在表的底部被添加了一次,而class="template-row"
tr在顶部被删除了——这不应该发生吗?
例如:
<style>
.template-row { display: none; }
</style>
<table>
<tr class="template-row">
<td> <input class='item-input' type="text"> </td>
</tr>
<tr class="row">
<td> <input class='item-input' type="text"> </td>
</tr>
</table>
jquery:
$(document).ready(function() {
$('.item-input').on('keydown', function (e) {
var itemName = $.trim($(this).val());
if (itemName != '') {
var templateRow = $(".template-row");
$('table tr:last').after(templateRow).removeClass('template-row').addClass("row");
}
});
});
jquery:
$(document).ready(function() {
$('.item-input').on('keyup', function (e) {
var itemName = $.trim($(this).val());
if (itemName.length > 0 && $(this).data("copied") == undefined ) {
var templateRow = $(".template-row").clone(true).removeClass('template-row').addClass("row");
$('table').append(templateRow);
$(this).data("copied", true);
}
});
});
.template-row { display: none; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<table>
<tr class="template-row">
<td> <input class='item-input' type="text"> </td>
</tr>
<tr class="row">
<td> <input class='item-input' type="text"> </td>
</tr>
</table>
每次填充上一个输入时,此代码都会添加一个新的输入。每个输入只执行一次。
$(this).data("copied")
检查数据属性copied
。如果存在,则输入之前已填充,并创建了新的输入。它为tr
元素设置一个名为:data-copied="true"
的属性。data
实际上是jQuery对attr("data-copied")
的简写clone(true)
复制模板和事件- 克隆后,模板类将被删除
试试这个,它克隆节点并将其附加到元素中。
$(document).ready(function() {
$('.item-input').on('keyup', function (e) {
var itemName = $.trim($(this).val());
if (itemName != '') {
var templateRow = $(".template-row").clone();
templateRow.appendTo('table').removeClass('template-row').addClass("row");
}
});
});
相关文章:
- 用Javascript添加带有#text的tr元素
- 如何将类添加到<tr>标记
- 如何在遍历表和添加新元素时获得tr的索引
- 将类添加到当前tr
- 添加<tr>元素到动态表,动态不刷新页面,php-jquery
- 如何在动态创建的tr标签表中添加合计
- 在表末尾动态添加TR
- 在数据表表和普通 DOM 表之间移动(添加/删除)tr 行
- 添加 tr 标签会导致函数停止工作
- j查询点击事件,用于在具有特定 ID 的表中动态添加 tr
- 如何在TR的最后一个TD中添加事件或将ID属性添加到IMG标签
- 在IE8中动态添加tr和td设计问题
- JavaScript添加和删除<tr>使用EventListener和jQuery
- 创建<td>动态地添加到<tr>
- jQuery仅将addClass添加到<td>其中父<tr>具有特定类别
- 添加&单击按钮时减去TR(ID+1)
- 将类添加到表中的 tr (JQuery)
- 将tr添加到table中使用javascript将一个新的tbody添加到html表中
- 在特定行下面添加tr
- 在IE的表格中添加tr