javascript从表中删除tr
javascript remove tr from table
我以前见过这个问题,但我无法解决。我有以下代码
<script type="text/javascript">
var scntDiv = $('#p_scents');
var i = $('#p_scents tr').size() + 1;
$('#addScnt').click(function() {
scntDiv.append('<tr><td> <input type="text" name="model" id="model"/></td><td><input type="text" name="desc" id="desc"/></td><td> <input type="text" name="price" id="price"/></td><td><input type="text" name="qty" id="qty"/></td><td><a href="#" id="remScnt">Delete</a></td></tr>');
i++;
return false;
});
//Remove button
$(document).on('click', '#remScnt', function() {
if (i > 2) {
$(this).closest('tr').remove();
i--;
}
return false;
});
删除功能不起作用。请在小提琴旁帮忙:http://jsfiddle.net/scumah/xtyFh/8/
这是我的页面代码:
{embed="shared/_html_header"}
{embed="shared/_page_header"}
<style = "text/css">
{ font-family:Arial; }
h2 { padding:0 0 5px 5px; }
h2 a { color: #224f99; }
a { color:#999; text-decoration: none; }
a:hover { color:#802727; }
p { padding:0 0 5px 0; }
input { padding:5px; border:1px solid #999; border-radius:4px; -moz-border-radius:4px; -web-kit-border-radius:4px; -khtml-border-radius:4px; }
</style>
<div id="main_body_content">
<h4>
<a href="#" id="addScnt">Add Another Input Box</a>
</h4>
<table class="dynatable">
<thead>
<tr>
<th>Model</th>
<th>Description</th>
<th>Price</th>
<th>Quantity</th>
</tr>
</thead>
<tbody id="p_scents">
<tr>
<td>
<input type="text" name="model" read-only id="model"/>
</td>
<td>
<input type="text" name="desc" id="desc"/>
</td>
<td>
<input type="text" name="price" id="price"/>
</td>
<td>
<input type="text" name="qty" id="qty"/>
</td>
</tr>
</tbody>
</table>
<script type="text/javascript">
var scntDiv = $('#p_scents');
var i = $('#p_scents tr').size() + 1;
$('#addScnt').click(function() {
scntDiv.append('<tr><td> <input type="text" name="model" id="model"/></td><td><input type="text" name="desc" id="desc"/></td><td> <input type="text" name="price" id="price"/></td><td><input type="text" name="qty" id="qty"/></td><td><a href="#" id="remScnt">Delete</a></td></tr>');
i++;
return false;
});
//Remove button
$(document).on('click', '#remScnt', function() {
if (i > 2) {
$(this).closest('tr').remove();
i--;
}
return false;
});
</script>
</div>
</div><!--/main_body_content-->
{embed="shared/_page_footer"}
我了解您的问题,并根据问题提供解决方案。
在您的脚本中,所有DOM元素生成之前发生的事情,这就是为什么事件没有与元素正确绑定的原因。因此,您需要将脚本包装在document.ready()
事件中,如下所示:
<script type="text/javascript">
$(document).ready(function () {
var scntDiv = $('#p_scents');
var i = $('#p_scents tr').size() + 1;
$('#addScnt').click(function () {
scntDiv.append('<tr><td> <input type="text" name="model" id="model"/></td><td><input type="text" name="desc" id="desc"/></td><td> <input type="text" name="price" id="price"/></td><td><input type="text" name="qty" id="qty"/></td><td><a href="#" id="remScnt">Delete</a></td></tr>');
i++;
return false;
});
//Remove button
$(document).on('click', '#remScnt', function () {
if (i > 2) {
$(this).closest('tr').remove();
i--;
}
return false;
});
});
</script>
ID
在HTML中必须是唯一的,而应使用类作为选择器,如class="remScnt"
将选择器更改为
$(document).on('click', '.remScnt', function() {
此外,将您的代码包装在文档就绪功能中
$(document).ready(function() {
});
相关文章:
- 如何从表中的api中删除表tr数据comping
- Javascript/JQuery删除代码中的父TR问题
- 通过ajax调用删除表中的tr
- jquery如何删除<tr>标记
- 如何在删除第二个表中的所有记录后删除具有日期值的tr
- 单击a href删除行(TR)
- javascript页面加载检查是否存在具有特定类的span(在<tr>下),如果不存在,则删除整个<
- 删除当前<tr>并且还删除<tr>在使用纯javascript之前
- javascript从表中删除tr
- TR标记需要从表集合中删除多个类
- 如果找到第3行,则删除next和next tr的第3个单元格
- 使用 JavaScript 删除 HTML 中的表 tr
- 如何删除列表表 tr 中已存在的值
- 在数据表表和普通 DOM 表之间移动(添加/删除)tr 行
- 如何从表中删除 tr
- 如果 td 包含仅在 IE 中不起作用的文本,则删除 tr
- 在javascript中删除TR表的第一个TD
- 选中复选框时删除当前行(tr)
- 删除/隐藏表<tr>(s) 其<td>(s) 没有文本
- 基于TR ID从TD小区中删除类